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 钩子:

相关推荐
️学习的小王4 小时前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
协议的旁观者4 小时前
Android 高级逆向实战(一):对抗 360 企业加固,Native 抽取还原与 Activity 生命周期重建
android
愚蠢得人5 小时前
Git Worktree实用指南:同时开发两个分支,不再反复切换
git
mmsx7 小时前
osmdroid 屏幕坐标与测量坐标互转:中心点+比例尺仿射换算
android·源码·地图·osmdroid
00后程序员张7 小时前
Android证书绑定抓包失败?Android SSL Pinning绕过实战指南
android·网络协议·计算机网络·网络安全·adb·https·ssl
杉氧7 小时前
页面栈与路由:React Navigation 与 Expo Router 深度实践
android·前端·react native
XiaoLeisj7 小时前
Jetpack Compose 知识点
android·kotlin·android jetpack·compose
又见情义9 小时前
RK3568 Android 13开机时间优化-系统应用裁剪实践
android
lskaixin9 小时前
Git命令
git
hunterandroid9 小时前
Android 内存泄漏排查实战:从 LeakCanary 报警到根因定位
android·前端