2014-04-21 100 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