假设我在master中的最后一次提交的功能分支中有许多提交
... - last_commit_in_master - C1 - C2 - .. - C100
现在我想将所有这些提交合并为一个。
我知道一个解决方案:
git rebase -i master
2,s/pick/squash/
。 < - 这是我不喜欢每次都做的一步有没有办法更轻松?
答案 0 :(得分:1)
不是做壁球,而是使用fixup替换除第一个之外的每一个,然后你不必选择一个新的提交名称,它只是将它们全部放在同一个提交中。
答案 1 :(得分:1)
如果要将所有提交合并为一个,并且需要提交消息和上次提交的时间。
git reset --soft $(git merge-base HEAD master)
git commit -c ORIG_HEAD
(如果您想对其进行调整,可以重新编辑该消息。)
这不会改变。在单独的步骤中做到这一点。