簡體   English   中英

如何將git分支合並到多個發布分支

[英]How to merge a git branch to multiple release branches

在tfs遷移(完全不同的分支概念)之后,我必須將修復程序合並到多個發布分支,但是分支不完全相同,它們大多相似,但是不同的產品(例如,不同的品牌,conn字符串等),所以我可以在這里使用nvie gitflow一個產品分支策略。

在此輸入圖像描述

https://github.com/MrKekson/stackoverflow_question/network

在這里你可以找到一個大大簡化的分支結構,基本上我想將b1的hotfix1分支合並到tesztb3,但沒有先前的b1(c3,c4)提交。

Cherrypicking或rebase可能有所幫助,但我沒有設法完成它,我還沒有很多高級git使用經驗。 所以請告訴我如何做,或者我應該改變什么才能完成它。

好的,我解決了。 至少有幾種方法可以做到:

所以基本上,人們可以在hotfix1上分別挑選每個提交到teszt3,但它很笨拙。

因此,我們可以從b1創建合並分支,將hotfix1合並到其中,然后將合並創建的提交選擇到tesztb3,什么將在testb3上產生新的提交。 甚至可以將-x添加到cherry-pick中,因此它會在新提交中創建一個注釋,它的父母是guid,或者我們可以將我們的hotfix1分支壓縮為1個提交,然后挑選它。

或者我們可以根據最后一次提交(hf2)創建一個rebase分支

git rebase --onto <new-parent> <old-parent> <lastcommit> 

- 這里解釋一下 ,但是<new-parent>是我們的目標分支teszt3,我更喜歡在目標分支上為此創建一個合並分支,舊的父級是hotfix1的開始,在這種情況下,lastcommit是hotfix1上的hf2。 然后將teszt3合並到我們的新合並分支,並創建一個拉回請求到teszt3。

所以我認為一開始看起來這兩條路都不容易,但是有點經驗可以做到,事件這是一種更順暢的體驗,然后重命名tfsvc中的目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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