2015-04-28 68 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