2016-11-23 223 views
2

一個TFS遷移(完全不同的分支概念)我要合併修復了多個版本的分支,但分支機構不相同後,他們大多是相似的,但不同的產品(例如不同的品牌,連接字符串等),所以我不能在這裏使用nvie gitflow的一種產品分支策略。如何合併一個Git分支到多個版本分支

enter image description here

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

在這裏你可以找到一個大大簡化了分支結構,基本上我要合併B1的hotfix1分支,以tesztb3,但沒有對B1先前提交(C3,C4 )。

採櫻桃謬誤或底墊可以幫助,但我沒有設法把它做了,我沒有很多的先進的git的使用體驗呢。所以請告訴我如何做到這一點,或者我應該改變什麼來完成它。

+1

你還應該提到你已經嘗試了什麼。 Cherrypicking很可能是你想要的,但是你應該說明你試過的挑選和重新命名命令,以及爲什麼它們沒有產生預期的結果。 – Vampire

回答

0

好吧,我解決了這個問題。至少有幾個方法可以做到這一點:

所以基本上,可以摘櫻桃每對hotfix1到teszt3單獨的提交,但它的笨拙。

所以我們可以從b1創建一個合併分支,將hotfix1合併到它,然後櫻桃選擇由合併創建的提交到tesztb3,什麼會在testb3上產生一個新的提交。 甚至可以-x添加到摘櫻桃,所以ITT將在新創建的說明提交,GUID爲它的父母,或者我們能夠壓制我們的hotfix1支進1提交,然後櫻桃挑選。

或者,我們可以創建基於上次提交(HF)的衍合分支,然後

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

--onto explained here,但<new-parent>是我們的目標分支teszt3,我更喜歡創建此合併的分支目標分支,父親是hotfix1的開始,在這種情況下,lastcommit是hotfix1上的hf2。 然後將teszt3合併到我們的新合併分支中,並創建一個返回到teszt3的請求。

因此,我認爲沒有路徑是容易在第一次看,但可行帶着幾分經驗和事件,這是一個辦法流暢的體驗,然後重命名在tfsvc目錄。

相關問題