在git reset --hard
之后,git status
在Changes not staged for commit:
部分为我提供了文件。
我也尝试过git reset .
,git checkout -- .
和git checkout-index -f -a
,都没有用。
那么,我如何才能摆脱这些未暂存的更改呢?
这似乎只影响Visual Studio项目文件。真奇怪。请看这个粘贴:http://pastebin.com/eFZwPn9Z。这些文件的特殊之处在于,在.gitattributes中,我有:
*.sln eol=crlf
*.vcproj eol=crlf
*.vcxproj* eol=crlf
此外,在我的全局.gitconfig
中,autocrlf
被设置为false。这会有什么关系吗?
发布于 2012-07-08 21:25:42
好了,我差不多解决了这个问题。
.gitattributes
文件似乎包含以下内容:
*.sln eol=crlf
*.vcproj eol=crlf
*.vcxproj* eol=crlf
使项目文件显示为未暂存。我不知道为什么会这样,我真的希望了解git方法的人能给我们一个很好的解释。
我的修复方法是删除这些文件,并在.git/config
中的[core]
下添加autocrlf = false
。
这与前面的配置并不完全相同,因为它要求每个开发人员都有autocrlf = false
。我想找个更好的解决方法。
编辑:
我注释了那些牵连的行,取消了它们的注释,它起作用了。什么..。我甚至都不...!
发布于 2013-10-25 19:43:35
我也有同样的问题,它与.gitattributes
文件有关。但是,在.gitattributes
中没有指定导致问题的文件类型。
我能够通过简单地运行以下命令来解决问题
git rm .gitattributes
git add -A
git reset --hard
发布于 2012-07-08 20:26:09
Git不会重置不在存储库中的文件。因此,您可以:
$ git add .
$ git reset --hard
这将暂存所有更改,这将使Git知道这些文件,然后重置它们。
如果这不起作用,您可以尝试隐藏并删除您的更改:
$ git stash
$ git stash drop
https://stackoverflow.com/questions/11383094
复制相似问题