Git 中的 "squash" 操作是将多个提交合并为一个提交的操作。它可以让开发者将多个相关的小提交合并成一个更有意义的提交,从而使提交历史更加干净整洁。
使用 squash 操作的步骤如下:
-
首先,使用
git rebase -i HEAD~n
命令进入交互式 rebase 模式,n 为你想要合并的提交数量。 -
在弹出的编辑器中将需要合并的提交行前的
pick
修改为squash
或s
,表示将这些提交合并到前一条提交上。 -
保存并关闭编辑器,Git 会自动合并这些提交,并弹出一个新的编辑器窗口。
-
在新的编辑器窗口中,编辑合并后的提交信息,保留你需要的信息,并删除其他信息。
-
保存并关闭编辑器,Git 会完成合并操作,并生成一个新的合并后的提交。
需要注意的是,squash 操作改变了提交历史,因此在使用 squash 操作之后,可能需要使用 git push --force
命令来强制推送到远程仓库。
另外,squash 操作只能用于合并最近的连续提交,如果你想合并更早的提交,可以使用 git rebase -i <commit>
命令,其中 <commit>
是你想要合并的提交的哈希值或分支名。