首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复杂的git rebase动作

复杂的git rebase动作
EN

Stack Overflow用户
提问于 2010-05-22 03:58:49
回答 1查看 675关注 0票数 2

查看git-rebase手册页,我没有看到任何看起来像我想要的图表(除了一些似乎与我想要的相反),而且使用--onto也没有得到我想要的结果。

让我看看我是否可以绘制一个类似于git-rebase手册页中的图表(左边的竖线是为了使Markdown格式正确):

代码语言:javascript
复制
|      o-o-o-o-branch2
|     /
| -o-o-A-master-o-branch1-o-o-my_WIP_branch

branch1在这里可能并不重要,但我还是把它包含进来了。我想要做的是这样(省略git-rebase手册页图表中通常附带的'):

代码语言:javascript
复制
|     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 amgit apply则不会)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-22 04:56:44

奇怪的是。因为这应该是rebase --onto的一个典型案例。

您必须:

代码语言:javascript
复制
     o-o-o-o <--branch2
    /
 o-o-o-A <--master
        \
         -o-o <--branch1
             \
              -o-o <--my_WIP_branch

您需要:

代码语言:javascript
复制
                  -o-o <--my_WIP_branch
                 /
             -o-o <--branch1
            /
     o-o-o-o <--branch2
    /
 o-o-o-A <--master

这应该是:

代码语言:javascript
复制
$ 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)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2885172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档