2014-04-21 97 views
2

我沒有git的差異顯示:Git diff,沒有新行,有什麼改變?

-} 
\ No newline at end of file 
+} 

什麼改變?這對我來說似乎沒有什麼不同..

順便說一句:我offen看到紅色0並返回Github提交,這是什麼意思?

+0

你正在對windows/linux進行更改嗎?如果您正在多個平臺上工作,您可能會將EOL字符從'\ n'(默認在linux中)更改爲'\ r \ n',在Windows中默認。 –

+0

@snyder不,在git diff中用'^ M'突出顯示了添加的\ r。 – SzG

回答

4

該文件的原始版本在最後一行末尾沒有換行符。 你可能在編輯文件時使用了一個體面的編輯器,所以現在它有一個。

這絕對不是尾隨空間。這將用紅色突出顯示。

+2

這是實際的答案。 「文件結尾處沒有換行符」意味着它所說的內容。其他答案/評論是暗示着「在文件末尾沒有換行符」這個消息意味着完全不同於它所說的**的蹩腳猜測。對這個消息稍微難以理解的唯一的東西應該是它正在討論的文件:它適用於上一行中的文件。 (如果第二個文件沒有尾隨的換行符,那麼'\'結束處不會有換行符'')。 –

+0

絕對如此。 :-) – SzG

-1

您可能已添加「space」附近的支架}。這是原因之一。檢查一下。

+0

'space'不是'newline'字符 – Rocco

+0

是的。我的意思是「}」與文件末尾的「}」不同。另外,我提到這將是導致文件更改的原因之一。顯然,SzG回答的是正確的。但是,即使我們在大括號附近添加「空格」,也會在我們執行「git status」時顯示相同的狀態。謝謝.. :) :) –

+0

這是一個完全不同的問題,然後 - 您可能會添加空間 - 或這對任何字符都很重要 - 在某個文件的某個位置,並從Git獲取該文件已更改的消息。然而這絕對不是上述信息的「原因之一」,這對於文件末尾的換行符非常清楚。 – Rocco