Git rebase 使用方法
2024-12-31
| 2024-12-30
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password

背景说明:

在使用 Aider 和 DeepSeek 的开发过程中,每一次修改都会生成一次新的提交。因此,随着项目的迭代,提交历史可能变得较为零散,包含很多类似的修复和功能改动。为了简化提交历史并确保提交信息的清晰性,通常需要使用 git rebase -i 进行提交合并(squash)操作。
假设你有如下的提交历史:

目标:

我们希望将前面几条提交(style 类的提交)合并为一个更简洁的提交,并且在合并后的提交中明确说明它们涉及到UI改进的内容。具体操作如下:

步骤

  1. 启动交互式 rebase: 首先,执行以下命令启动交互式 rebase
    1. 这将打开编辑器,显示最近的提交。你会看到类似下面的内容:
  1. 修改提交操作: 将希望合并的提交标记为 squash,即将它们压缩成一个提交。你希望合并的是前三个提交(关于样式和设置的改动),所以修改文件如下:
    1. 这表示将 0a789ad, 76506ee, 和 c4c0e98 这三次提交合并成一个提交。
  1. 保存并退出编辑器: 保存更改并退出编辑器。Git 会开始执行 rebase 操作,并自动合并前三个提交。
  1. 编辑合并提交消息: 接下来,Git 会让你编辑合并后的提交消息。你可以将这些提交合并成一个简洁的提交消息:
    1. 修改后的消息可以如下:
      这将合并三次关于 UI 改进和设置调整的提交,并且简化为一个清晰的提交消息。
  1. 完成 rebase: 保存并退出后,Git 会继续执行 rebase,并将三个提交合并为一个新的提交。完成后,你可以使用 git log 查看新的提交历史。

合并后的结果

合并后的提交会看起来像这样:
在新的提交历史中,前三个提交已被合并成一个 improve UI of DegreeTrainer settings 的提交,并且其他提交保持不变。
  • 工具
  • linux
  • How to code a project with AI 以Eartrainer为例Introduction to DegreeTrainer
    Loading...