type
status
date
slug
summary
tags
category
icon
password
背景说明:
在使用 Aider 和 DeepSeek 的开发过程中,每一次修改都会生成一次新的提交。因此,随着项目的迭代,提交历史可能变得较为零散,包含很多类似的修复和功能改动。为了简化提交历史并确保提交信息的清晰性,通常需要使用
git rebase -i
进行提交合并(squash
)操作。假设你有如下的提交历史:
目标:
我们希望将前面几条提交(
style
类的提交)合并为一个更简洁的提交,并且在合并后的提交中明确说明它们涉及到UI改进的内容。具体操作如下:步骤:
- 启动交互式
rebase
: 首先,执行以下命令启动交互式rebase
:
这将打开编辑器,显示最近的提交。你会看到类似下面的内容:
- 修改提交操作:
将希望合并的提交标记为
squash
,即将它们压缩成一个提交。你希望合并的是前三个提交(关于样式和设置的改动),所以修改文件如下:
这表示将
0a789ad
, 76506ee
, 和 c4c0e98
这三次提交合并成一个提交。- 保存并退出编辑器:
保存更改并退出编辑器。Git 会开始执行
rebase
操作,并自动合并前三个提交。
- 编辑合并提交消息: 接下来,Git 会让你编辑合并后的提交消息。你可以将这些提交合并成一个简洁的提交消息:
修改后的消息可以如下:
这将合并三次关于 UI 改进和设置调整的提交,并且简化为一个清晰的提交消息。
- 完成
rebase
: 保存并退出后,Git 会继续执行rebase
,并将三个提交合并为一个新的提交。完成后,你可以使用git log
查看新的提交历史。
合并后的结果:
合并后的提交会看起来像这样:
在新的提交历史中,前三个提交已被合并成一个
improve UI of DegreeTrainer settings
的提交,并且其他提交保持不变。