在这种情况下执行git-rebase的正确命令是什么?

时间:2015-12-07 17:05:31

标签: git git-rebase

我仍然在使用git-rebase,我想在实际操作之前仔细检查一下我打算做什么!

我的回购中的相关分支目前看起来像这样:

o---o---o......   master
         \
          o---o---o---o---o---o---o---o---o   develop
                   \
                    o---o   feature
                         \
                          *   sub-feature

我想要达到的目的是:

o---o---o......   master
         \
          o---o---o---o---o---o---o---o---o   develop
                                           \
                                            o'---o'   feature
                                                  \
                                                   *   sub-feature

我不期待任何冲突,因为feature分支只删除不再需要的文件,sub-feature分支添加了新文件,develop分支肯定不存在{1}}分支。

根据git-rebase documentation,我认为我需要从sub-feature分支中删除以下内容:

git rebase feature

我有点不确定,因为我想要改为develop而不是master。考虑到这一点,我想知道是否应该从sub-feature分支运行以下内容:

git rebase --onto develop feature

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

onto功能非常强大,但由于您仍习惯于变基础,此操作无论如何都需要两个步骤(假设您要同时更新feature以及sub-feature )我会建议这些步骤:

首先让我们更新feature

git checkout feature
git rebase develop

最后,更新sub-feature

git checkout sub-feature
git rebase feature

这将留下你在问题中陈述的树。