交互式rebase仅适用于我的提交

时间:2016-09-09 08:00:54

标签: git github

在我的分支机构工作时,我合并了主分支,以使我的工作与主人保持同步。

现在当我想清理我的提交历史记录(壁球/选择)时,我得到了主分支的所有提交以及git rebase myBranch -i HEAD myfirstcommit

如何从主分支中过滤出提交,因此我只能重新安排自己的提交?

3 个答案:

答案 0 :(得分:7)

master合并到您的分支机构中,同时留在您的分支机构中,请执行以下操作:

git rebase -i master

这会在master之上修改您的分支,仅在您的分支中进行新的提交,但不在master中。

答案 1 :(得分:0)

您可以压缩分支上的提交,然后将其放在master之上:

git rebase -i HEAD~$(git rev-list --count origin/master..) \
    && git pull --rebase master

答案 2 :(得分:0)

在合并或基于主分支之前,您应该清除提交历史记录(pick,squash,fixup等):

git rebase -i HEAD~N 
# N: is number, how many last N commit you want to "clean"

之后,您可以合并或重新建立主分支。