blog/_posts/git/merge-logs-single.md
2024-03-07 13:45:58 +08:00

28 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 📗多个Git提交合并成一个提交
date: 2024-01-20
tags: Git
---
在日常开发feature之后会在自己开发的分支上留下许多提交记录想在最后发版本提交
将多个提交合并成一个提交记录,显得规整一些。
查询相关资料之后,发现使用 git rebase 和 git squash 命令配合完成上述需求。
<!--more-->
以下将多个提交合并成一个提交记录步骤记录:
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)