文档首页> 代码托管 CodeArts Repo> 常见问题> 仓库使用> 如何修改历史提交信息?
更新时间:2023-12-04 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*.+

解决方案

  • 若修改最新一次书写错误的提交记录信息,您可执行如下操作:
    1. 在本地代码工作空间的根目录,即有.git隐藏文件夹的这一层级,右键选择git bash here打开git bash界面。
    2. 执行如下命令查找最新一次提交记录信息。
      git log

    3. 执行如下命令,进入vi文本编辑器界面。
      git commit --amend
    4. 输入git commit --amend -m ',输入第一行信息,回车再输入第二行信息,依次类推,在最后一行末尾加上另一个单引号,回车即可修改成功。

  • 若修改非最新一次书写错误的提交记录信息,您可执行如下操作:
    1. 在git bash界面中执行如下命令,查找错误的提交记录。
      git log

    2. 执行如下命令,回退到之前的提交记录。
      git reset --hard commitID

      如执行如下命令:

      git reset --hard 1fbd34f77d1ddb73b73b84b878fd9edbece711f5

    3. 参考“修改最新一次提交记录message书写错误中23”,修改之前的提交记录,回车保存。
    4. 找到自己提交的记录,执行cherry-pick。

      若提交记录中显示提交人是自己,且未进行过合入操作,则可进行cherry-pick操作。

      如下图所示,绿框中的代表是可以操作cherry-pick的,红框内的不可操作cherry-pick。

    5. 执行如下命令挑分支。
      git cherry-pick commitID

      如commitID为62c6ac5bab09bb450007bb9996177ee711c7e2fb。

      git cherry-pick 62c6ac5bab09bb450007bb9996177ee711c7e2fb

      1. 如果错误信息的提交已经合入代码托管仓库,则需要执行git push -f命令进行强制推送。
      2. 如果错误信息的提交记录显示未提交成功,则直接执行git push推送入库。
      3. 如果错误信息不是由自己引入,且错误的信息已经提交且合入代码托管仓库,则无需修改,直接删除代码托管仓库的提交规则,接执行git push推送入库。
分享:

仓库使用 所有常见问题

more