blog/_posts/git/merge-logs-single.md

28 lines
1.6 KiB
Markdown
Raw Normal View History

2024-01-20 16:05:27 +00:00
---
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)
2024-03-07 05:45:58 +00:00
2. [如何使用 git rebase 将多个 commit 合并成一个commit ]( https://juejin.cn/post/7050705771218075684)