无法重命名远程分支

时间:2015-04-28 13:08:06

标签: git github

我想将远程分支从 research_mvp 重命名为 research

首先,我重命名本地分支

[research_mvp]> git branch -m research_mvp research

其次,我删除了远程分支

[research]> git push origin :research_mvp

第三,我推高了新的分支

[research]> git push --set-upstream origin research

这使得一个新的远程分支具有旧的远程分支名称。

* [new branch]      research -> research_mvp

为什么它使用旧分支的名称而不是我推高的新分支的名称?

1 个答案:

答案 0 :(得分:0)

由于您重命名了分支,因此保留对远程分支的引用以进行推送。当您执行git push --set-upstream origin reference时,它没有更改.git/config文件中的远程。部分问题可能是git仍然认为origin/research_mvp仍然存在。

您可以通过运行git fetch --prune来修复它。 Git会自我更新,意识到origin/research_mvp不再存在。删除远程分支时,它不会删除这些关系。然后运行git push --set-upstream origin reference应该可以正常工作。

另一个选择是创建一个新分支并重新推动。

git checkout research
git branch -m research research_temp
git checkout research_temp
git checkout -b research
git branch -d research_temp
git push -u origin research