我有很多提交,我想要一起压缩成一个提交。当然,对于每次提交,我可以用pick
替换squash
,但我有数百次提交。
有没有办法自动执行此操作?
答案 0 :(得分:6)
如果您有一系列提交
... - C1 - C2 - C3 - C4 - C5 <- HEAD
并且您希望将C2
压缩到C5
进入单个提交,您可以将分支重置为C1
,同时保持工作目录和暂存区域的状态,然后提交再次:
git reset --soft C1
git commit
这将要求您重新输入提交消息。在重置和复制要保留的提交消息部分之前,您当然可以使用git log
。
如果要将功能分支压缩到master
分支的单个提交上,另一个选项是使用--squash
选项git merge
。