我有两个分支Dev和Feature1。我正在开发Feature1,创建所述功能并提交它。然后我编写了Feature2的代码,但是在Feature1分支而不是新分支(Feature2)下提交了它。所以现在我在Feature1分支中有两个功能作为两个单独的提交,但我只想将第二个功能包含在Dev中。
这样做是多么善变的方式?
答案 0 :(得分:10)
使用hg graft
此命令使用Mercurial的合并逻辑从其他分支复制单个更改,而不在历史记录图中合并分支。这有时被称为“后移”'或者' cherry-picking'。
答案 1 :(得分:4)
假设您尚未发布提交内容:
如果要独立于提交 Feature1 合并提交 Feature2 ,则应该 move it on its own branch
如果已经发布:
使用transplant扩展程序“复制” Feature2 提交并将其设置为 它自己的分支。然后在 Feature1 分支上backout Feature2 提交。轮到你了 合并 Feature2 也独立于 Feature1 。
在任何情况下,您也可以将 Feature2 放在自己的分支上 如果这是您的实际意图,请直接进入 Dev 分支。
答案 2 :(得分:0)
将第二个功能包含回Dev。
包含Dev 并在Feature1中保留 - translpant,如@ oben-sonne所述 完全从Feature1 - rebase移动 如果你想要将rebase转换为Feature2,你必须在rebase
之前创建这个分支(Feature1)