2011-01-30 90 views
3

這看起來像一個相當普遍和直接的要求,但我已經研究過移植擴展,rebase,導入,導出等,我還沒有弄明白。希望我錯過了一些明顯的東西。合併兩個分支而沒有實際合併

我想「合併」兩個分支(命名分支,具體),使分支本身不會消失。本質上,我想從修訂中提取更改,但是手動解決cherrypick更改/衝突(使用我的合併程序)。

似乎導入,導出,移植等產生補丁和變更集,直接應用到當前的工作目錄。但我不想那樣...而是,我想手動確定進行了哪些更改。

感謝您的幫助。

+1

你用什麼工具?混帳或mercurial? – gor 2011-01-30 12:51:33

回答

4

我想「合併」兩個分支(命名分支,具體),使分支本身不會消失。

這是默認行爲。例如,如果您look at the default branch of the mercurial source code,您會看到它經常與stable合併。這些合併不會使defaultstable消失。合併提交只是獲取本地分支名稱。

我想手動確定什麼樣的變化去。

聽起來好像移植已經做到這一點。或者,您可以在自己的功能分支上進行每項更改,然後完全控制哪些功能會合併到分支中。

更新:現在還有一個核心graft命令。

2

它看起來像你可以使用一個第三分支,一個整合分支,在那裏你可以合併您從其他兩個部門需要的任何變更。
然後,您可以使用(這裏GIT)的組合:

git cherry-pick SHA1 --no-commit 
git add --patch 

真正微調您需要導入/合併在第三分公司,如SO問題「Using GIT, how can I selectively pull/merge changes from anothers 'fork'?

說明什麼