提交代码时修改commit消息
# 背景
仓库push到远程时,需要符合格式才能提交,比如
fix: p1234 新的提交
但是,偶尔会忘记加上issue编号,比如
fix: 新的提交
这样一来,push时,代码就无法推送到远程,需要手动修改commit消息。
# 解决
分2种情况,
- 当前提交是当前分支最新的提交
- 不是当前分支最新的提交
# 当前提交是当前分支最新的提交
git commit --amend -m "fix: p1234 新的提交"
1
# 不是当前分支最新的提交
# 1.启动交互式 rebase
使用以下命令,其中 N
表示需要修改的提交数量(例如倒数第二次提交,则 N=2
):
git rebase -i HEAD~N
1
例如:
git rebase -i HEAD~2
1
这时会打开一个vim编辑器,列出最近的 N
次提交。
# 2.标记需要修改的提交
在 rebase 编辑界面中,找到倒数第二次提交的行(通常是第二行),将开头的 pick
改为 edit
(或简写 e
),保存并退出编辑器。例如:
pick abc123 最近的提交
edit def456 fix: 新的提交
1
2
2
Git 会暂停在标记为 edit
的提交上。
注意vim进入修改模式的方式是,输入i;保存并退出vim则是,ESC,:wq
# 3.修改 commit 信息
运行以下命令修改提交信息(不涉及文件改动):
git commit --amend -m "fix: p1234 新的提交"
1
# 4.完成 rebase
继续执行 rebase 流程:
git rebase --continue
1
如果后续无冲突,修改即完成
上次更新: 2025/04/09, 17:50:35