git branch 在 pull 时不断地重新创建

标签 git branch pull

我有一个 git 分支,每次我执行“git pull”时,它都会不断地“重新创建”一个字母大小写交替的分支。假设分支名称是“a”(据我所知是“A”),一个“git pull”将产生以下行:

* [new branch]      a       -> origin/a

然后下一个'git pull'会产生:

* [new branch]      A       -> origin/A

这永远不会停止。我不知道分支是如何创建的(或它的用途),因为其他人创建了它。

我如何驯服这个分支并让它停止这样做?

最佳答案

如评论中所述,refs/heads/Arefs/heads/a 都存在于 Remote 上。这确实意味着那里存在两个不同的分支。 (Git 本身区分大小写,大多数非 Windows 文件系统也是如此。)

但是,如果您使用的是 Windows,则可能可以解释这个问题。引用文献被创建为单独的文件,每个引用文献一个。 Git 在远程看到两者,但是当它尝试在本地更新它们时,只有一个存在,因此总是创建另一个。这两个操作的内部顺序必须是新创建的一个覆盖另一个,从而导致交替。

如果 refs 指向同一个提交,那么解决方案是在远程删除其中一个:

git push origin :refs/heads/A

关于git branch 在 pull 时不断地重新创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012862/

相关文章:

git - 初始导入后如何将更改从 github pull 到 bitbucket?

git - 将 master 恢复到旧提交,同时保留提交

directory - Bazaar 存储库因移动而损坏

git - 移动分支,使其从 git 中的 master 分支出来

git - 如何调试 : Git pull hangs during git pull (always at 54%)

Docker 拉取错误 - json : cannot unmarshal number into Go value of type string

git - 无法在 Git 的两个独立分支中区分文件

git - 从 "fixup!"中删除 `git commit --fixup HEAD` 消息

git - 硬重置后推送 git 分支

tfs - 在两个现有分支之间插入一个新分支