git Rebase 为任意一笔提交补上 Change-Id

查看最近三笔提交

bash 复制代码
git log -3

2. 交互式 Rebase

假设你需要处理最近的 3 笔提交,执行以下命令:

Bash

css 复制代码
git rebase -i HEAD~3

3. 编辑提交历史 (VIM 操作)

命令执行后,VIM 会打开一个包含提交记录的文本文件:

  1. i 键进入插入模式
  2. 将你想要修改的那一笔提交前的 pick 改为 edit
  3. Esc 键回到命令模式
  4. 输入 :wq 并回车以保存并退出

4. 添加 Change-Id

Git 会暂停在刚才标记为 edit 的提交上。此时执行:

Bash

css 复制代码
git commit --amend --no-edit

提示:如果配置了正确的 commit-msg hook,此命令会自动补全 Change-Id。如果未配置,需手动在提交信息的末尾添加 Change-Id: Ixxxxxxxx...

5. 完成 Rebase

继续执行后续的提交应用:

Bash

kotlin 复制代码
git rebase --continue

注:如果在过程中遇到冲突,请解决冲突后执行 git add .,再执行 git rebase --continue

6. 验证与推送

确认所有提交均已补全 Change-Id

Bash

bash 复制代码
git log -n 3

确认无误后,推送到 Gerrit:

Bash

ruby 复制代码
git push origin HEAD:refs/for/你的分支名

💡 进阶:如何避免再次遗忘?

为了避免手动添加 Change-Id,建议安装 Gerrit 的 commit-msg 钩子:

相关推荐
石山岭16 小时前
自己动手写了一个 Android 虚拟定位 App:GPSSimulate 技术实
android·前端
杉氧18 小时前
副作用 (Side Effects) 全攻略:如何像大师一样掌控 Composable 的生命周期?
android·架构·android jetpack
A_Lonely_Cat1 天前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
Kapaseker1 天前
Kotlin Toolchain 0.11 发布:主要是把 Amper 干没了
android·kotlin
三少爷的鞋1 天前
Android 现代架构不需要事件总线进阶篇
android
杉氧2 天前
深入理解 Compose 重组机制:快照系统如何驱动 UI 精准刷新?
android·架构·android jetpack
召钱熏2 天前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
杉氧2 天前
深度解析:Jetpack Compose 核心架构与底层原理 —— 十年安卓老兵的“破茧重生”
android·架构·android jetpack
通玄2 天前
Jetpack Compose 入门系列(七):ViewModel 与界面状态管理
android
落魄Android在线炒饭2 天前
Android Framework 开发技巧:android.jar 生成与系统快速编译验证
android