Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git将目录重命名为另一个大小写相同的名称显示包含的文件始终被修改_Git_Git Reset - Fatal编程技术网

Git将目录重命名为另一个大小写相同的名称显示包含的文件始终被修改

Git将目录重命名为另一个大小写相同的名称显示包含的文件始终被修改,git,git-reset,Git,Git Reset,目录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.

目录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版本1.6.4


我运行的是Mac OS X 10.6

您可以检查git是否重写了行尾(git diff显示文件被自身替换,只是行尾不同)。在这种情况下,您应该看看。

在玩了大约一个小时后,我的解决方案是手动删除testdirectory/a.html和testdirectory/b.html——在git报告它们为“已删除”(我不想实际删除它们)之后,但它使我能够在另一个用户修复问题时执行git拉取并获得更改

以下步骤:

  • 删除文件testdirectory/a.html和testdirectory/b.html
  • 吉特拉力
  • 注意:以前无法执行git拉取操作,导致合并冲突错误


    我不清楚发生了什么,但它解决了我的问题。在我看来,Git仍然像Perl一样非常复杂,命令主要反映Git的内部结构而不是用户意图:-)

    @hroptatyr Git版本在这里是1.6.41.7.1,但找不到匹配的错误报告。“命令主要反映Git的内部结构而不是用户意图”+1我同意-这不是很好。但是git现在或多或少是标准的。不确定Mercurial是否更好。