我仍然在考虑使用 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

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

关于git - 在这种情况下执行 git-rebase 的正确命令是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34139145/

10-13 05:15