无法更改分支,远程删除的文件在本地存储库中不可见

Unable to change branches, remotely deleted file invisible in local repo

提问人:saner 提问时间:11/12/2023 最后编辑:saner 更新时间:11/12/2023 访问量:38

问:

我从 master 创建了一个分支,制作了一个 PR。 在我打开 git 的区分大小写之前,两个文件 src/A/A.tsx 和 src/a/A.tsx 进入了远程存储库。我删除了 github 存储库上的 src/A/A.tsx 文件,因为我只想保留 src/a/A.tsx。我已经用这个分支做了一个 PR。现在,当我尝试创建并切换到新分支时,会出现此错误。

“当您的分行出现更改时,无法结账。以下文件将被覆盖 src/A/A.tsx 您可以立即存储更改,并在以后恢复它们。"

在 github 桌面中按“Stash Changes and Continue”不会执行任何操作。 我在 Finder 中没有看到 src/A/A.tsx,也没有在 .如何删除 src/A/A.tsx 并恢复切换分支的功能?git status

git github-desktop

评论

0赞 saner 11/12/2023
我可以用 .但是,如果我回到另一个有问题的分支,错误就会回来。git checkout master -f
0赞 Jeff Mercado 11/12/2023
我想您使用的是 Windows(或其他名称不区分大小写的操作系统)。您可能可以直接将其从索引中删除? 或?git rm --cached src/A/A.tsx
0赞 saner 11/12/2023
感谢您的建议,我在 macOS 上,但其他人可能有 Windows。 找不到文件,只是找到了,但这会删除我真正想要保留的文件。git rm --cached src/A/A.tsxgit rm --cached src/a/A.tsx

答:

0赞 saner 11/12/2023 #1

运行后,我可以再次切换分支。希望一旦我再次推动,一切都会好起来的。git config core.ignorecase true

评论

1赞 Jeff Mercado 11/12/2023
尝试再次禁用它,并验证文件是否根据 git 列出。它将显示大写和小写文件,无论您的工作目录中有什么。您不必这样做,有一种方法可以检查文件。git ls-files