我已经开始在“ Eclipse Jee Oxygen”中使用Git阶段。每当我对文件进行小改动(修复错误)时,我都必须提交并推送。但是在git中,整个文件显示已更改。为什么会这样呢?这会使在同一存储库上工作的其他人感到困惑。
如何解决此问题,以便仅从Eclipse的Git登台视图中提交并推送更改?
感谢您的帮助。
答案 0 :(得分:1)
那是因为文件的EOL格式发生了变化。
有不同的EOL(行尾)格式。 UNIX使用LF作为换行符,Windows使用CRLF,Mac使用不同的东西。体面的文本编辑器会识别文件的格式,并在保存文件时保留该格式(Windows记事本不在体面的文本编辑器的列表中。从历史上看,它们搞砸了。 )。在多操作系统环境中工作,这可能是一个棘手的主题。
现在,当您在修订中(有意或无意)更改给定文件的EOL格式时,对于VCS,这就像整个文件已更改一样。
Git提供了一些技巧来阻止这种情况的发生。尽管有一个旧的实现(我认为使用autocrlf),但它仍然很杂乱(这可能是由于更改背后的文件的EOL格式而给您带来麻烦的原因)。然后还有另一种使用属性的更好的尝试。通常,您可以做的最好的事情就是告诉git让文件保持原样 ,并且不要通过将行添加到.git/info/attributes
来弄乱文件的EOL格式:
* -text
希望有帮助。