概述
在实际工作中,偶尔会因为手欠,在提交commit时,添加了非常简短的commit message,如opt。由于本地代码规则限制,在提交pr并申请merge到origin的master时,系统会提示某个commit的message因过短而无法进行merge操作。当遇到这种窘境时,如何解决?本文简单介绍如何通过git rebase操作来修改已提交的commit message。
解决
当前的commit记录,可当作原始数据
- 修改最后一次提交的 commit信息
% git commit --amend --message='delte file to update commit msg'
[main 2d9761a] delte file to update commit msg
Date: Tue Dec 27 16:22:30 2022 +0800
1 file changed, 2 deletions(-)
delete mode 100644 1.txt
- 修改历史提交的 commit 信息
操作步骤:
git rebase -i列出 commit 列表- 找到需要修改的 commit 记录,把
pick修改为edit或e,:wq保存退出 - 修改 commit 的具体信息
git commit --amend,保存并继续下一条git rebase --continue,直到全部完成 - 中间也可跳过或退出
git rebase (--skip | --abort)
例如,尝试修改commit id 为 ‘9b9133f’ 的message信息,具体操作如下。
- 通过 git rebase 至 待修改的commit message的前一个commit ID。
- git rebase -i 6be1bd9
- 找到要修改的commit记录,把
pick修改为e,:wq保存退出
- 修改 commit 的具体信息
git commit --amend,系统会弹出一个交互的窗口,修改结束后,:wq保存退出.
- 继续下一条
git rebase --continue,直到全部完成.