如何在开发分支上重新定义功能分支
我有这个
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