git重置后留下未更新的更改

标题说明了一切。

git reset --hardgit 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

上一篇: Unstaged changes left after git reset

下一篇: How do you stash an untracked file?