[英]Swap a master and a feature branch
我們發現自己處於主人有新功能工作的情況,而feature1 (分支主人)是穩定的主人。 我們怎樣才能改變事物以便他們“交易場所”? 即,feature1成為主人,主人成為newfeaturebranch ?
我發現了幾個類似的SO問題,但在這些情況下,他們不再關心舊的主提交。 在這里,我們希望保留當前的master作為新的newfeaturebranch。
我想過一種方法可以做到這一點:
您可以重命名分支:
git branch -m master newfeaturebranch
git branch -m feature1 master
編輯:這篇文章是在你編輯你的問題之前寫的,當你說你想簡單地“交易場所”時。 如果您不需要保留名稱,Poke的解決方案就足夠了。
你需要第三個分支tmp
,就像在編程中交換變量一樣:
git checkout -b tmp master
:打開從master
創建的新tmp
分支 git branch -D master
:刪除分支master
git checkout -b master feature1
:從feature1
重新創建master
git branch -D feature1
:刪除分支feature1
git checkout -b feature1 tmp
:從tmp
重新創建newfeaturebranch
(這是master
在一開始的地方) 我開始使用poke的解決方案,但在推送之后,當地的分支機構仍在跟蹤舊的遠程分支機構。 要跟蹤正確的分支,我只需添加-u
選項進行推送。
git branch -m master newfeaturebranch
git branch -m feature1 master
git push -uf origin master
git push -u origin newfeaturebranch
它也可以通過先推動然后調整正確的分支來分兩步完成:
git push -f origin master
git push origin newfeaturebranch
git branch -u origin/master master
git branch -u origin/newfeaturebranch newfeaturebranch
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.