当我使用“git status”时,它会将许多文件列为已修改,而实际上它们并没有。它会将所有行显示为已删除,然后在差异报告的末尾再次添加相同的行。
我可以使用Windiff来检查文件是否完全相同。事实上,我已经使用git好几个月了,没有任何问题。今天,突然出现了这个问题。几个月前,我没有修改大部分文件。
我使用Windows和SourceTree,但也使用git命令行。两者都显示了同样的问题。
我尝试的第一件事是丢弃所有文件。没有任何React,“修改”的文件不会消失。然后恢复,同样的。然后,我想了想某种损坏,所以我删除了.git/index文件,然后,“git重置”。现在问题最严重,我有30个“修改”的文件,现在我有“1360”。我检查了硬盘,它是好的。
我不能简单地克隆它再次从远程,因为我有本地分支.
顺便说一下,我为其他项目准备的其他存储库工作得很好。
我首先关心的是知道发生了什么事。我完全迷路了。
更新
这不是行的问题。\r\n我没有打开任何文件。Windiff没有显示任何差异。另外,我删除了分支,然后从远程资源库 checkout 它,“修改”的文件仍然存在,即使放弃所有更改或还原它们。另外,它不仅仅是SourceTree,我从命令行使用Git。
3条答案
按热度按时间neskvpey1#
第一个想法:缩进。在IDE中导入项目并尝试自动重新缩进时,所有行都可能因为缩进而更改。
第二个想法:有些IDE可能会在每一行添加不同的行尾,所以git会将其视为所有行的差异。
希望能帮到你。
m0rkklqb2#
谢谢Tony.我添加了“text=auto”,现在问题解决了.
如您所述,问题类似于SourceTree App says uncommitted changes even for newly-cloned repository - what could be wrong?
不过,我很困惑,因为我在过去的几个月里什么都没有改变或编辑,我需要说我安装了Windows 10,也许这可能与此有关。
不管怎么样,现在已经解决了。
7ajki6be3#
工作溶液
我和我的同事也有同样的问题。
找到了一个解决方案,工作在我的个人电脑和我的同龄人的电脑。
在你的git文件夹中
键入以下命令之一:
(You可能需要键入两个,但考虑到您的情况,第一个可能就足够了)
**额外的好处:**如果这个解决方案对你有效,并且你想在你的整个电脑(所有git文件夹)上执行,只需在
git configure
后面加上参数--global
。git config --global core.autocrlf false