在我的分支机构工作时,我合并了主分支,以使我的工作与主人保持同步。
现在当我想清理我的提交历史记录(壁球/选择)时,我得到了主分支的所有提交以及git rebase myBranch -i HEAD myfirstcommit
如何从主分支中过滤出提交,因此我只能重新安排自己的提交?
答案 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"
之后,您可以合并或重新建立主分支。