找出为什么具有相同本地分支的同一个远程存储库的两个本地git存储库的行为不同



我的远程存储库中有两个分支。

  • mastermyFolder/myFile文件夹下有一个文件。
  • my-branch有一个push commit,将myFolder/myFile(camelCase)重命名为myfolder/myFile(flatcase)。

我已经将它克隆到我的保留大小写的MacOS环境中的两个本地存储库中,在.git/config文件中设置ignorecase = true,并签出这两个分支

  • 当我使用第一个本地存储库在这两个分支之间切换时,使用正确的case (myFoldermyfolder)正确更新文件夹。此本地存储库是新克隆的。
  • 但不知何故,当我用第二个本地存储库在两个分支之间切换时,文件夹的案例没有更新,它保持不变。这个本地存储库较旧,在此之前已经完成了一些git操作。

我如何找出为什么这两个本地存储库的行为不同?它们都有完全相同的.git/config文件

我如何修复第二个存储库,以便在切换分支时正确更新文件夹案例?

我如何修复第二个存储库,以便在切换分支时正确更新文件夹案例?

作为一种解决方法,由于新克隆的存储库的行为符合预期,您可以:

  • 重命名旧的第二个存储库
  • 将(第三次)存储库克隆到它的位置
  • 添加(如果需要的话)旧的和重命名的第二个存储库作为远程,以导入在新的(第三个)新存储库
  • 中完成的提交。

还请注意,您可以使用git worktree命令为每个克隆存储库使用多个工作树,这将避免所有"切换分支/祈祷文件夹被正确更新"。

最新更新