仅针对我的提交进行交互式变基

18

在处理我的分支时,我合并了主分支,以保持我的工作与主分支的最新状态。

现在,当我想要清理我的提交历史(压缩/挑选)时,通过git rebase myBranch -i HEAD myfirstcommit也会获取来自主分支的所有提交记录。

我该如何过滤掉来自主分支的提交记录,以便只能重新排列自己的提交记录?

3个回答

19

在将 master 合并到你的分支后,在保持在你的分支中的情况下,执行以下操作:

git rebase -i master

这将使你的分支在master的基础上进行变基,只包括那些在你的分支中而不在master中的新提交。


0
你可以压缩分支上的提交,然后将其放在主分支的顶部:
git rebase -i HEAD~$(git rev-list --count origin/master..) \
    && git pull --rebase master

0
在合并或变基到主分支之前,你应该清理一下你的提交历史(pick、squash、fixup等)。
git rebase -i HEAD~N 
# N: is number, how many last N commit you want to "clean"

之后,您可以将分支合并或变基到主分支。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接