git将多个提交压缩成多个提交

pil*_*ght 2 git version-control commit

有鉴于此:

在推入Git之前组合多个提交

假设我有这个基础:

pick 16b5fcc msg1
pick c964dea msg3
pick 06cf8ee msg1
pick 396b4a3 msg2
pick 9be7fdb msg3
pick 7dba9cb msg2
Run Code Online (Sandbox Code Playgroud)

假设我想将所有comitts与相同的消息组合成一个...(即所有msg1提交到单个msg1提交,所有msg2提交到1 msg2提交,等等)

我该怎么做才能挤压这些?

er0*_*er0 8

git-rebase让你重新排序和压缩提交.这样的事情应该有效:

pick 16b5fcc msg1
squash 06cf8ee msg1
pick 396b4a3 msg2
squash 7dba9cb msg2
pick 9be7fdb msg3
squash c964dea msg3
Run Code Online (Sandbox Code Playgroud)

如果您有很多提交,我建议您编写一个脚本来按上面的方式对它们进行分组.

  • 如果你不想在整个过程中编辑每个提交消息,你也可以使用`fixup`而不是`squash`. (5认同)