2016-03-14 69 views
0

我一直在提交/推送到一個公共回購協議,並發現我可能更改了少於100行的一個提交會導致提交1000次更改。提交GitHub回購顯示大量無意的更改

例如,我可能會在AppDelegate中的某個方法中更改多行。
隨之而來的問題是一些看起來像以下:

爲了更好地showoff什麼空白的問題可能在這裏發生的不必要的commitage的另一個領域:

enter image description here

+0

您是否正在運行任何代碼格式工具?看起來截圖中的這些變化是從每條評論行的開頭刪除了空白。 – derekmckinnon

+0

我不知道你的意思是通過格式化我的代碼。我可能做過的一件事是,最後在appdelegate上工作的編碼器是按Ctrl + i,它會自動縮進等。這是你的意思格式? –

+0

是的,自動縮進將「清理」它認爲需要修復的空白和製表符。自動縮進只是代碼格式化的一個方面,可以根據需要(在這種情況下通過鍵盤快捷鍵)或使用工具自動完成。無論如何,git會跟蹤文件的所有內容,所以當你改變一個空格時,它會以差異顯示 – derekmckinnon

回答

3

你有格式化代碼,現在git把你的白帽當作變化。

使用這個標誌忽略任何空格改變

core.whitespace

Git自帶預設檢測和修復一些空白的問題。
它可以查找六個主要的空白問題 - 三個默認啓用,可以關閉,三個默認禁用,但可以激活。

git config --global core.whitespace <...> 

core.whitespace

core.whitespace

共同空白P的逗號分隔的列表roblems注意。 git diff將使用color.diff.whitespace來突出顯示它們,而git apply --whitespace = error會將它們視爲錯誤。

您可以前綴-禁止任何人(例如-trailing空間):空白-AT-EOL啓用


對待在該行的結尾爲錯誤尾部空格(默認)。

空間之前標籤
對待,在線路作爲錯誤(默認啓用)的初始部分縮進一個製表符之前立即出現空格字符。

縮進與 - 非標籤
對待被縮進空格字符來代替相當於翼片作爲錯誤(未默認啓用)的線。

製表在縮進
對待在該行作爲錯誤的初始縮進部分製表符(未默認啓用)。

坯料在-EOF 對待空行添加在文件的末尾作爲錯誤(默認啓用)。

拖尾空間是一個空白區域,可以覆蓋空白區和空白區。

CR-AT-EOL對待
在一行的末尾回車作爲行終止,即,與它的一部分,後空間不如果字符這樣的carriage-前觸發返回不是空白(默認情況下未啓用)。

tabwidth =
告訴許多字符如何定位一個標籤佔據;這與非標籤縮進和Git修復tab-in-indent錯誤有關。默認標籤寬度爲8.允許值爲1到63

+0

,所以看着appDelegate方法中的那些註釋,看起來space-before-tab可能是git屬性解決它? (但該空間發生在第一個「//」之前,而不是在可能位於該行前面的標籤之前)。 所以要忽略的git命令(我認爲這是您列出的文檔意味着錯誤?)這些空格將如下所示? git config --global core.whitespace

+0

由於可以將標籤設置爲2個空格,簡單的2個空格,因此很難從圖像中分辨出來,您的編輯器可以將標籤轉換爲空格,反之亦然,所以您只需要嘗試一下。 – CodeWizard

+0

我在帖子中添加了另一張圖片。 –

相關問題