我有一个 git 分支,每次我执行“git pull”时,它都会不断地“重新创建”一个字母大小写交替的分支。假设分支名称是“a”(据我所知是“A”),一个“git pull”将产生以下行:
* [new branch] a -> origin/a
然后下一个'git pull'会产生:
* [new branch] A -> origin/A
这永远不会停止。我不知道分支是如何创建的(或它的用途),因为其他人创建了它。
我如何驯服这个分支并让它停止这样做?
最佳答案
如评论中所述,refs/heads/A
和 refs/heads/a
都存在于 Remote 上。这确实意味着那里存在两个不同的分支。 (Git 本身区分大小写,大多数非 Windows 文件系统也是如此。)
但是,如果您使用的是 Windows,则可能可以解释这个问题。引用文献被创建为单独的文件,每个引用文献一个。 Git 在远程看到两者,但是当它尝试在本地更新它们时,只有一个存在,因此总是创建另一个。这两个操作的内部顺序必须是新创建的一个覆盖另一个,从而导致交替。
如果 refs 指向同一个提交,那么解决方案是在远程删除其中一个:
git push origin :refs/heads/A
关于git branch 在 pull 时不断地重新创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012862/