刚刚安装了EGit(我更新为EGit 3.2.201312181205-r)和Git for Windows附带的Eclipse 4.3(Kepler)。我在现有Eclipse工作区下的Git for Windows Bash shell中克隆了一个存储库,然后在Eclipse中将其作为项目导入。但是,如果我右键单击一个未更改的文件,然后选择“比较与”>“HEAD修订”,则所有行均显示为不同。
在Git for Windows bash shell中,文件上的git diff不显示任何内容。在Git bash中的文件上运行od -c
会显示它具有Windows样式的行结尾。
当我进入Eclipse的“比较/补丁”首选项并说忽略空格时,它没有任何区别。但我想了解为什么这是必要的。
这里真正比较的是什么?
最佳答案
这是Egit中的已知错误。 https://bugs.eclipse.org/bugs/show_bug.cgi?id=342372
即使在Egit 3.4(计划于2014年6月发布)中,它也不会得到修复。罗宾·斯托克(Robin Stocker)在上述错误的副本中给出了此建议:
但是,据报道,Egit在导入项目时会忽略这些设置。 https://bugs.eclipse.org/bugs/show_bug.cgi?id=421364
因此,似乎所有开发人员都需要自己检查行尾。但是,至少您不需要任何其他工具来解决此问题。在Eclipse中的文件菜单下,有一个:“将行定界符转换为”。另请注意,单个项目和工作区设置中都有行尾设置。
对于项目:右键单击->属性->资源
对于工作区:窗口->首选项->常规->工作区
关于egit - EGit Compare显示所有已更改的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20844198/