如何自动压缩很多提交?

Bar*_*zyk 5 git commit squash

我有很多提交,我想要一起压缩成一个提交.当然,我可以代替picksquash每一个承诺,但我有几百个提交.有没有办法自动执行此操作?

Sve*_*ach 6

如果你有一系列的提交

... - C1 - C2 - C3 - C4 - C5 <- HEAD
Run Code Online (Sandbox Code Playgroud)

你想挤进C2C5为单一提交,您可以将您的分支重置C1,同时保持你的工作目录的状态和集结地,ANS然后再次提交:

git reset --soft C1
git commit
Run Code Online (Sandbox Code Playgroud)

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

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