Git-大小写敏感性问题



我有一个仓库,它是一个分叉。在某个时候,我需要合并上游的更改,我做到了。有一些冲突,我解决了它们。我记不太清楚了,但我想我在修复冲突时会拆下一些文件。在一切完成后,我开始面对一些奇怪的事情,我无法解决它。

问题是,无论我做什么,总有六个文件被修改(checkout不会影响它们(。我认为它可能会修复,所以我删除了分叉并重新折叠,但当我克隆分支并将其从master更改为创建pull请求的分支时,我再次遇到了同样的问题。

  • 我无法签出文件
  • 我无法签出其他分行
  • Stashing不起作用(文件已修改(

如果需要,我可以提供更多详细信息

您有一个区分大小写的问题:当git尝试签出磁盘上的文件fooFoo时,由于您的文件系统不区分大小写,其中一个文件"获胜";并覆盖另一个的内容。

通常:其中一个文件名是";错误的";你可以摆脱它。

如果是这种情况:只需运行

git rm --cached Foo  # the variant with the incorrect casing

并检查磁盘上的文件是否使用正确的名称变体命名。

您还希望获得文件的正确内容:您可以使用git show:查看HEAD提交中为fooFoo存储的内容

git show HEAD:foo
git show HEAD:Foo
# overriding the content of 'foo' with 'HEAD:Foo' :
git show HEAD:Foo > foo
# dumping into two temp files for comparison and cmd+C/cmd+V :
git show HEAD:foo > foo.tmp.lo
git show HEAD:Foo > Foo.tmp.up

一旦您确定了文件应该如何以git命名,以及正确的内容是什么,就可以使用commitcommit --amend

最新更新