在git重置后——很难,git状态给了我在Changes not staging for commit:部分中的文件。

我也试过git reset ., git checkout。而git check - out-index -f -a,毫无用处。

那么,我怎样才能摆脱这些未分阶段的变化呢?

这似乎只影响Visual Studio项目文件。奇怪。请看这个粘贴:http://pastebin.com/eFZwPn9Z。这些文件的特殊之处在于,在.gitattributes中我有:

*.sln        eol=crlf
*.vcproj     eol=crlf
*.vcxproj*   eol=crlf

另外,在我的全局.gitconfig中,selflf被设置为false。这有什么关系吗?


当前回答

检查你的.gitattributes。

在我的情况下,我有*.js文本eol=lf在它和git选项核心。独裁者说得对。

它给我带来的情况,当git自动转换我的文件行结束,并阻止我修复它,甚至git重置-硬头没有做任何事情。

我修复了它与注释*.js文本eol=lf在我的.gitattributes和取消注释它之后。

看起来就像变魔术了。

其他回答

另一个原因可能是不区分大小写的文件系统。如果你的repo中有多个文件夹在同一层上,它们的名称只是大小写不同,你就会遇到这种情况。使用其web界面(例如GitHub或VSTS)浏览源存储库以确保。

欲了解更多信息:https://stackoverflow.com/a/2016426/67824

如果您使用的是面向Windows的Git,那么这可能就是您的问题

我也遇到过同样的问题,隐藏,硬重置,清理,甚至所有这些都仍然留下了变化。原来的问题是git没有正确设置x文件模式。这是windows git的一个“已知问题”。gitk和git的本地变化显示为旧模式100755新模式100644,没有任何实际的文件差异。

修复方法是忽略文件模式:

git config core.filemode false

更多信息请点击这里

我也遇到了同样的问题,这与.gitattributes文件有关。 但是,在.gitattributes中没有指定导致问题的文件类型。

我可以通过简单的跑步来解决这个问题

git rm .gitattributes
git add -A
git reset --hard

我也有同样的问题。我做了git重置-硬头,但仍然每次我做git状态,我看到一些文件被修改。

我的解决办法相对简单。 我只是关闭我的IDE(这里是Xcode),关闭我的命令行(这里是我的Mac OS上的终端),再试一次,它工作了。

然而,我始终无法找到问题的根源。

在类似的情况下。由于多年来与许多程序员的折磨,他们能够填充行尾的不同编码(.asp, .js, .css…不是精华)放入一个文件。前段时间拒绝了.gitattributes。repo left的设置autorclf = true和safecrlf = warn。

最后一个问题出现在从具有不同行尾的存档进行同步时。从存档中复制后,在git状态下许多文件都随注释而改变

在您的工作目录中,该行将有其原始的行结束符。 警告:在…中将由CRLF取代LF

如何在Git中规范化工作树行结束?帮助

Git add -u