2011-01-30 94 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'?

说明什么