我的編輯器正在改變我的源文件的行尾。當我做git diff
時,我看到同一條線兩次 - 一次與-
和一次+
- 沒有明顯區別。git diff - 讓我看看結局的變化?
我該如何獲得git diff
來告訴我這個改變實際上是什麼?
我的編輯器正在改變我的源文件的行尾。當我做git diff
時,我看到同一條線兩次 - 一次與-
和一次+
- 沒有明顯區別。git diff - 讓我看看結局的變化?
我該如何獲得git diff
來告訴我這個改變實際上是什麼?
圖形化差異工具會向您顯示更好的變化 - 請嘗試git difftool
。使用meld,並設置首選項以顯示空白。 (編輯 - >首選項 - >顯示空白。)
其他圖形工具可能有類似的選項 - @棉花的答案+評論告訴你如何用vimdiff做到這一點。
首先,確保你使用的彩色輸出(帶git diff --color
EG)和您已啓用空白高亮用(例如)
git config color.diff.whitespace "red reverse"
這可能不是在所有情況下工作,但是,作爲git
似乎不會突出顯示尾隨空白刪除行。要查看您刪除的空白,只需使用
git diff -R
把空白的比較,如果它確實得到強調的「增加」的一面。
有關更多詳細信息,請參見this SO question的答案。
這是實際的答案,但我不得不承認,看到新行上的紅色空間是有趣的。謝謝! – zeh 2012-08-10 15:47:37
git diff --ws-error-highlight=new,old
突出顯示空白區域在變化的行中不一致。
一種方式看空白改變就是做一個字符一個字符「字DIFF」與
git diff --color --word-diff-regex=.
這凸顯了所有空白行中改變到處。刪除空白包裹在[-
和-]
中,並在{+
和+}
中添加空格。
git diff --color --ws-error-highlight=new,old
亮點線的端部的所有空格變化。
您可以使用以下命令查看換行結束區別。
git diff | cat -v
然後在CRLF(DOS)結束時打印「^ M」,沒有結束LF(Unix)結束。
顯然,git diff正在做正確的事情,爲CRLF結尾打印CR和LF字符。 但是因爲控制檯使用CR,所以我們看不到它。通過使用cat -v,我們可以使其可見。
圖形比較工具可能不可用。@ paul-whittaker的答案將在問題暗示的背景下工作(某個終端)。 – beOn 2018-01-15 23:37:34