2015-04-28 83 views
3

我想从research_mvp研究不能重命名远程分支

首先,我重命名的本地分支

[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 

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

+0

您是否尝试过'''git push -f ...'''用您的覆盖远程存储库? – gsp8181

+0

还没有尝试,但'GIT推-u原产地研究:研究'可以工作。在'git config'中查看'branch.research.merge'。 – musiKk

回答

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