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

What is the correct command for performing a git-rebase in this scenario?

我仍在思考如何使用 git-rebase,我想在实际执行之前仔细检查我打算做什么!

我的 repo 中的相关分支目前如下所示:

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 分支。

基于 git-rebase documentation,我想我需要 运行sub-feature 分支的以下内容:

git rebase feature

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

git rebase --onto develop feature

如有任何帮助,我们将不胜感激!

onto 非常强大,但是由于您仍然习惯于变基,并且此操作无论如何都需要两个步骤(假设您要同时更新 featuresub-feature) 我会推荐这些步骤:

首先让我们更新一下feature

git checkout feature
git rebase develop

最后,更新sub-feature

git checkout sub-feature
git rebase feature

这将为您留下问题中所述的树。