我想将远程分支从 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
为什么它使用旧分支的名称而不是我推高的新分支的名称?
答案 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