如何自动压缩很多提交?

时间:2015-01-29 15:30:14

标签: git commit squash

我有很多提交,我想要一起压缩成一个提交。当然,对于每次提交,我可以用pick替换squash,但我有数百次提交。 有没有办法自动执行此操作?

1 个答案:

答案 0 :(得分:6)

如果您有一系列提交

... - C1 - C2 - C3 - C4 - C5 <- HEAD

并且您希望将C2压缩到C5进入单个提交,您可以将分支重置为C1,同时保持工作目录和暂存区域的状态,然后提交再次:

git reset --soft C1
git commit

这将要求您重新输入提交消息。在重置和复制要保留的提交消息部分之前,您当然可以使用git log

如果要将功能分支压缩到master分支的单个提交上,另一个选项是使用--squash选项git merge