--- title: 📗多个Git提交合并成一个提交 date: 2024-01-20 tags: Git --- 在日常开发feature之后会在自己开发的分支上留下许多提交记录,想在最后发版本提交 将多个提交合并成一个提交记录,显得规整一些。 查询相关资料之后,发现使用 git rebase 和 git squash 命令配合完成上述需求。 以下将多个提交合并成一个提交记录步骤记录: 1. 首先,使用 git log 命令查看你要合并的提交记录的哈希值,确定需要合并的提交数量和顺序。 2. 运行 git rebase -i HEAD~n 命令,将 n 替换为要合并的提交数量。这将打开一个交互式 rebase 编辑器。 3. 在交互式 rebase 编辑器中,将需要合并的提交记录的 pick 关键字改为 squash 或 s。将要保留的最终提交记录保持为 pick。 4. 保存文件并关闭编辑器。然后,将会打开一个新的编辑器,用于编辑最终的合并提交记录的消息。在编辑器中,可以修改合并后的提交消息。 5. 保存文件并关闭编辑器。Git 将自动进行 rebase 操作,将多个提交合并成一个提交记录。 6. 依此循环上述步骤。 因为 git rebase 和 git squash 命令带来变基和修改历史记录影响,所以避免在公共分支上操作,比如develop,test等分支操作,以防将别人代码进行覆盖或删除。因此,只应该在本地仓库上进行此操作。 ## 参考文献 1. [Git 合并多个 commit](https://segmentfault.com/a/1190000007748862) 2.[如何使用 git rebase 将多个 commit 合并成一个commit ]( https://juejin.cn/post/7050705771218075684)