2013-01-09 14 views
0

今天我在這裏感覺很慢,但我試圖合併來自不使用git的第三方開發者的一些代碼。他在印度的Windows機器上手動發送文件,並使用Dreamweaver編輯文件(目前他的行結束類型設置爲「CR」)。當我得到這些文件時,在我的MacOSX機器上,它們具有窗口行結束符(在vim中爲^ M),所以我使用這個perl命令去除它們,這剝去了窗口行結束符,並且在我擁有的文件編輯器中起作用。問題是當我嘗試添加該文件git整個文件顯示爲已更改。如果行終止是對我有意義的窗口,但我正在剝離它。做了一些Google搜索之後,我發現這個github文章https://help.github.com/articles/dealing-with-line-endings看起來像我可以使用git強制特定的行結束或在Mac的情況下告訴它使用任何文件都沒有任何似乎對我有任何區別。底線我無法弄清楚如何顯示實際開發人員所做的更改。它始終顯示整個文件已更改。我錯過了什麼?來自git VCS中windows用戶的文件?

P.S.對不起,但想表明我不只是在那裏拋出一個問題。我已經看過它。只是由於某種原因,還沒有絆倒我失蹤的東西(其他的第二杯咖啡)。

回答

0

使用git diff -w,您將忽略whitespaces diff(空格/製表符,行結尾)。這應該有助於你看到差異。

對於git來說,強制結束的行被改爲LF(提交時),命令是git config --global core.autocrlf true

+0

西蒙謝謝你! 'git diff -w'正是我正在尋找的。我將core.autocrlf更改爲true,並提交了我無法確定是否調整了行結尾的更改,因爲我手動執行了此操作,但我在版本歷史記錄中獲得了100%更改的文件,因此將來它將會不可能說出實際改變的是什麼。任何想法修復?它是否顯示100%的原因是行結尾是空白和/或製表符的某種組合?再次感謝。 – user1963975

+0

我猜想標籤/空間已被切換。您將始終可以使用'git diff -w'來正確觀察歷史記錄。在Github差異頁面上,只需在URL中添加'?w = 1'即可得到沒有空格的差異。 –

+0

西蒙 - 謝謝,將不得不做! – user1963975