Git 中的 "squash" 操作

4 min read

Git 中的 "squash" 操作是将多个提交合并为一个提交的操作。它可以让开发者将多个相关的小提交合并成一个更有意义的提交,从而使提交历史更加干净整洁。

使用 squash 操作的步骤如下:

  1. 首先,使用 git rebase -i HEAD~n 命令进入交互式 rebase 模式,n 为你想要合并的提交数量。

  2. 在弹出的编辑器中将需要合并的提交行前的 pick 修改为 squashs,表示将这些提交合并到前一条提交上。

  3. 保存并关闭编辑器,Git 会自动合并这些提交,并弹出一个新的编辑器窗口。

  4. 在新的编辑器窗口中,编辑合并后的提交信息,保留你需要的信息,并删除其他信息。

  5. 保存并关闭编辑器,Git 会完成合并操作,并生成一个新的合并后的提交。

需要注意的是,squash 操作改变了提交历史,因此在使用 squash 操作之后,可能需要使用 git push --force 命令来强制推送到远程仓库。

另外,squash 操作只能用于合并最近的连续提交,如果你想合并更早的提交,可以使用 git rebase -i <commit> 命令,其中 <commit> 是你想要合并的提交的哈希值或分支名。