更新时间:2023-09-06 GMT+08:00
如何修改历史提交信息?
问题现象
本地Commit时的提交信息有误,出现如下报错。
原因分析
提示信息报错:message of commit,后面跟着一串由数字和小写字母组成的长达40位的字符串。这个字符串代表着这次提交的message填写有误。
即填写错误提交commit ID:1fbd34f77d1ddb73b73b84b878fd9edbece711f5。不符合提交规则:^\[maven-release-plugin\]|【问题单号or需求单号】\s*.+\W【修改描述】\s*.+\W【修改原因】\s*.+\W【模块】\s*.+\W【修改人】\s*.+\W【审核人】\s*.+
解决方案
- 您可执行如下操作修改非最新一次书写错误的提交记录信息:
- 在git bush界面中执行如下命令,查找错误的提交记录。
git log
- 执行如下命令,回退到之前的提交记录。
git reset --hard commitID
如执行如下命令:
git reset --hard 1fbd34f77d1ddb73b73b84b878fd9edbece711f5
- 参考“修改最新一次提交记录message书写错误中2或3”,修改之前的提交记录,回车保存。
- 找到自己提交的记录,执行cherry-pick。
若author是自己,且不含merge操作,则可进行cherry-pick操作。
如下图所示,绿框中的代表是可以操作cherry-pick的,红框内的不可操作cherry-pick。
- 执行如下命令挑分支。
git cherry-pick commitID
如commitID为62c6ac5bab09bb450007bb9996177ee711c7e2fb。
git cherry-pick 62c6ac5bab09bb450007bb9996177ee711c7e2fb
- 如果错误信息的提交先前已经push入个人库,需要进行强制推送,即git push -f。
- 如果错误信息的提交先前未提交成功,直接git push即可。
- 如果错误信息不是由自己引入,且错误的提交已经合入进主库,那么无需修改,直接将个人库的提交规则临时去掉,推进入库即可。
- 在git bush界面中执行如下命令,查找错误的提交记录。
父主题: 仓库使用