这看起来是一个相当普遍和直接的要求,但我已经研究了移植扩展,rebase,导入,导出等,我还没有弄清楚。希望我错过了一些明显的东西。
我想“合并”两个分支(命名分支,具体),这样分支本身就不会消失。基本上,我想从修订版中提取更改,但手动解决cherrypick更改/冲突(使用我的合并程序)。
似乎导入,导出,移植等生成直接应用于当前工作目录的补丁和变更集。但我不希望这样......相反,我想手动确定进行哪些更改。
感谢您的帮助。
答案 0 :(得分:4)
我想“合并”两个分支(命名分支,具体),这样分支本身就不会消失。
这是默认行为。例如,如果您look at the default
branch of the mercurial source code,您会看到它会定期与stable
合并。这些合并不会使default
或stable
消失。合并提交只获取本地分支名称。
我想手动确定进行哪些更改。
听起来像移植已经这样做了。或者,您可以在自己的功能分支上进行每项更改,然后您可以完全控制哪些功能合并到分支中。
update :现在还有一个核心graft命令。
答案 1 :(得分:2)
看起来您可以使用第三个分支,合并分支,您可以在其中合并其他两个分支所需的变更集。
然后,您可以使用(此处为Git)组合:
git cherry-pick SHA1 --no-commit
git add --patch
要真正微调您在第三个分支中导入/合并所需的内容,如SO问题“Using GIT, how can I selectively pull / merge changes from anothers 'fork'?”中所述
答案 2 :(得分:0)
如果您使用git,请查看合并strategies。