使用 git rebase,如何将提交压缩为非先前提交
Using git rebase, how to squash a commit into a non-previous commit
我知道使用 git rebase -i
,我可以压缩一个提交,这会将提交消息合并到紧邻的前一个提交中。
https://github.com/wprig/wprig/wiki/How-to-squash-commits
但是使用 git rebase -i
,是否可以将提交压缩为不是上一个提交而是更早的提交?可以说我想在提交被压缩之前使用 3 次提交来压缩提交。如果是,那又如何?
当您使用 git rebase -i
时,如果您想要一个新的顺序,您可以重新排序提交。
如果你做 git rebase -i HEAD~5
并以此结束:
pick bfddbf6 first commit
pick 74b19b1 second commit
pick 03892e7 third commit
> pick 0fdc12c fourth commit
pick 9e422a0 fifth commit
您可以将第五次提交重新排序为第二次提交,以将其压缩到第一次提交中:
pick bfddbf6 first commit
> squash 0fdc12c fourth commit
pick 74b19b1 second commit
pick 03892e7 third commit
pick 9e422a0 fifth commit
我知道使用 git rebase -i
,我可以压缩一个提交,这会将提交消息合并到紧邻的前一个提交中。
https://github.com/wprig/wprig/wiki/How-to-squash-commits
但是使用 git rebase -i
,是否可以将提交压缩为不是上一个提交而是更早的提交?可以说我想在提交被压缩之前使用 3 次提交来压缩提交。如果是,那又如何?
当您使用 git rebase -i
时,如果您想要一个新的顺序,您可以重新排序提交。
如果你做 git rebase -i HEAD~5
并以此结束:
pick bfddbf6 first commit
pick 74b19b1 second commit
pick 03892e7 third commit
> pick 0fdc12c fourth commit
pick 9e422a0 fifth commit
您可以将第五次提交重新排序为第二次提交,以将其压缩到第一次提交中:
pick bfddbf6 first commit
> squash 0fdc12c fourth commit
pick 74b19b1 second commit
pick 03892e7 third commit
pick 9e422a0 fifth commit