查看git-rebase手册页,我没有看到任何看起来像我想要的图表(除了一些似乎与我想要的相反),而且使用--onto也没有得到我想要的结果。
让我看看我是否可以绘制一个类似于git-rebase手册页中的图表(左边的竖线是为了使Markdown格式正确):
| o-o-o-o-branch2
| /
| -o-o-A-master-o-branch1-o-o-my_WIP_branchbranch1在这里可能并不重要,但我还是把它包含进来了。我想要做的是这样(省略git-rebase手册页图表中通常附带的'):
| o-o-o-o-branch2-o-branch1-o-o-my_WIP_branch
| /
|-o-o-A-master基本上,我希望将我的my_WIP_branch工作放在branch2工作之上,而不必处理标记为A的提交组中涉及的合并冲突。除了在branch2上手动挑选每个提交之外,还有什么方法可以做到这一点(或者至少有一种简单的方法可以做到这一点?)顺便说一下,会有合并冲突,所以理想情况下应该是一个git命令或一组git命令来优雅地处理这些冲突(例如,git rebase优雅地处理它们,git am和git apply则不会)。
发布于 2010-05-22 04:56:44
奇怪的是。因为这应该是rebase --onto的一个典型案例。
您必须:
o-o-o-o <--branch2
/
o-o-o-A <--master
\
-o-o <--branch1
\
-o-o <--my_WIP_branch您需要:
-o-o <--my_WIP_branch
/
-o-o <--branch1
/
o-o-o-o <--branch2
/
o-o-o-A <--master这应该是:
$ git rebase --onto branch2 master my_WIP_branch它将重放任何不在主服务器上的提交,而是从您可以到达my_WIP_branch的地方(这意味着来自branch2的提交不符合条件)。
请参阅我的other SO answer for merge conflict instructions和"resolving merge conflicts" section of the Git手册。(您可以使用accept all merges with version, for instance)
https://stackoverflow.com/questions/2885172
复制相似问题