我的本地git存储库中有两个分支:master
和anotherbranch
。当我使用master
从anotherbranch
切换到git checkout anotherbranch
并运行git status
时,我会看到已修改的文件。
我使用git reset HEAD
撤消这些修改,然后git status
不会显示这些修改。但是当我切换到master并切换到分支后,我再次看到这些修改过的文件。
你能解释一下发生了什么吗?
答案 0 :(得分:3)
你不会有任何机会autocrlf
set to true吗?
因为它可以在结账时更改您的文件...
请参阅主题“core.autocrlf considered half-assed”:
那时候,我不是
core.autocrlf
支持的粉丝 *但我必须承认,与此同时,我变成了一个完全没有粉丝的功能。不是因为它的意图是错误的,而是因为它的实现很糟糕。当存在具有DOS行结尾的文件且core.autocrlf不为false时,只需尝试
git reset --hard
或git stash
。然后绝望。
答案 1 :(得分:1)
如果未在任一分支中跟踪这些项目,则这些文件将显示在git status
untracked
中,并且可以在结帐时生效
答案 2 :(得分:1)
git reset --hard将从索引中删除修改。尝试使用这个额外的参数,之后应该没问题。