我正在使用命令行和TortoiseGit在我的Windows 7 PC上使用Git。这很好用。现在我已经为Eclipse安装了EGit。虽然git status正确报告,但EGit显示所有文件已更改,但没有更改。
知道什么是错的吗?
答案 0 :(得分:13)
我也有类似的问题,我在eclipse中改变了Git配置下的存储库设置的下面属性
autocrlf = false
这解决了问题
您也可以从以下链接获取更多详细信息:
There is nothing changed, but eclipse egit marks the file as changed
基本上我将此属性添加为true以便在脚本文件中解决ctrl + M chars。 现在我不确定如何解决这个问题。有任何想法,请分享。
答案 1 :(得分:2)
这是一个迟到的回复,但我最近在最初克隆git存储库时遇到了同样的问题。 EGit显示所有文件都已更改,即使它刚刚被克隆并且git bash显示文件没有变化。
由于您通常不希望在Windows机器上使用autocrlf = false,因此我保留了autocrlf = true并克隆了存储库。然后在EGit中,我对所有文件进行了虚假更改,最后在git bash中使用git reset --hard HEAD^1
恢复到之前的提交。这使得EGit认为线条结尾是正确的而无需触及实际的存储库。在这一点之后提交和拉动没有重现我的配置中的EGit混淆。此外,当我推送到存储库时,没有发生意外的行结束更改。
答案 2 :(得分:1)
我无法获得任何建议的解决方案。我最后通过使用Windows安装的Git Bash重新克隆存储库来解决问题(我之前在Cygwin中使用Git进行了克隆)。
我发布这个作为另一个答案,以防其他人与我在同一条船上。
答案 3 :(得分:1)
我也遇到了这个问题,这让我发疯了!它指出' Checkout与文件冲突:'
无论如何,我设法使用以下各项的组合来解决这个问题:
团队 - >高级 - >假设导致冲突的资源未变更
然后将core.autocrlf更改为false,并将core.whitespace设置为空字符串。
这适用于.java文件,但.xml文件和.xsd文件仍会导致此问题!