如何在开发分支上重新定义功能分支

我有这个

a -- b -- c -- f                   <-- dev
       
        d -- e -- g              <-- feature

我要这个

a -- b -- c -- f -- d -- e -- g  <-- dev

我知道这与 rebase 命令有关。但是,当我输入时git rebase dev feature,提交会转到功能分支并且 dev 不会更新。如果我使用,git rebase feature dev那么最后一次提交是来自 master 的提交,并且我有重复的提交。我怎样才能做到这一点?

回答

假设我想feature留在原处而不移动它(如最终图表所示),我会这样做:

git checkout dev
git cherry-pick dev..feature

就是这样

如果您想在此之后删除功能分支:

git branch -D feature

一般来说,更简洁的方法(但步骤更多)是:

git checkout feature
git rebase dev
git checkout dev
git merge feature # (this fill fast-forward to the tip of feature)
git branch -d feature # no need to use -D this time


以上是如何在开发分支上重新定义功能分支的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>