将目录TestDirectory重命名为小写(testdirectory)后,所有文件(a.html和b.html)都显示为已修改,甚至git reset --hard也不会重置工作树。
Git总是说:
# modified: TestDirectory/a.html
# modified: TestDirectory/b.html
将工作树重置为未修改状态没有任何作用,以下命令都没有帮助:
git reset --hard
git checkout -- TestDirectory/a.html
我不明白为什么会这样,我能做什么。是git bug吗?
重命名不是我添加的,而是另一个git用户。
git version 1.6.4
我正在运行Mac OS X 10.6
答案 0 :(得分:2)
玩了大约一个小时之后,我的解决方案是手动删除testdirectory / a.html和testdirectory / b.html - 之后git将它们报告为“已删除”(我实际上不想删除它们)但它给了我当另一个用户修复问题时,能够执行git pull并获得更改。
简短步骤:
注意:之前的git pull无法完成导致合并冲突错误。
我没有清楚地了解发生了什么,但它解决了我的情况。在我看来,Git仍然像Perl一样复杂,命令主要反映的是git的内部而不是用户的意图: - )
答案 1 :(得分:0)
你可以检查git是否重写了行结尾(git diff显示文件被自己替换,只有不同的行结尾)。在这种情况下,您应该查看What's the best CRLF (carriage return, line feed) handling strategy with Git?。