git重置后留下未更新的更改
标题说明了一切。
在git reset --hard
, git status
给我提供了Changes not staged for commit:
section中Changes not staged for commit:
的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
另外, autocrlf
在我的全局.gitconfig
设置为false。 这可能有点相关吗?
我遇到了同样的问题,它与.gitattributes
文件有关。 但是,导致问题的文件类型未在.gitattributes
指定。
我能够通过简单的运行来解决问题
git rm .gitattributes
git add -A
git reset --hard
Git不会重置不在存储库中的文件。 所以你可以:
$ git add .
$ git reset --hard
这将进行所有更改,这将导致Git了解这些文件,然后重置它们。
如果这不起作用,您可以尝试存储并放弃您的更改:
$ git stash
$ git stash drop
解决!!!
我已经使用下面的stpes解决了这个问题
1)从Git的索引中删除每个文件。
git rm --cached -r .
2)重写Git索引来获取所有新的行结尾。
git reset --hard
解决方案是git网站上描述的步骤的一部分https://help.github.com/articles/dealing-with-line-endings/
链接地址: http://www.djcxy.com/p/9823.html