簡體   English   中英

交換主服務器和功能分支

[英]Swap a master and a feature branch

我們發現自己處於主人有新功能工作的情況,而feature1 (分支主人)是穩定的主人。 我們怎樣才能改變事物以便他們“交易場所”? 即,feature1成為主人,主人成為newfeaturebranch

我發現了幾個類似的SO問題,但在這些情況下,他們不再關心舊的主提交。 在這里,我們希望保留當前的master作為新的newfeaturebranch。

我想過一種方法可以做到這一點:

  1. 從當前主數據庫創建newfeature分支
  2. 主服務器恢復/刪除提交返回到feature1的分支點。
  3. feature1合並為master
  4. 刪除分支功能1

您可以重命名分支:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM