Skip to main content

更改提交消息

在本地修改含义不清、不正确或敏感的提交消息,并将更新后的提交推送到 GitHub,其中包括编辑最近提交或较早提交的步骤。

重写最近的提交消息

更改提交消息会创建新的提交 ID。 如果已推送提交,则必须强制推送重写历史记录。

提交尚未推送上线

如果提交仅存在于本地存储库中,请在本地修改提交消息。

  1. 在命令行上,导航到包含要修改的提交的仓库。

  2. 键入 git commit --amend 并按 Enter

  3. 在文本编辑器中编辑提交消息,然后保存该提交。

  4. 将该提交推送到 GitHub.com。

修改旧提交或多个提交的消息

如果已推送提交,在重写历史记录之前请谨慎使用。 强制推送可能会干扰那些基于旧提交开展工作的协作者。

更改最近一次推送的提交消息

  1. 按照提交尚未推送到远程中的步骤修改提交信息。

  2. 强制推送覆盖旧提交。

    git push --force-with-lease origin EXAMPLE-BRANCH
    

更改较早的或多个提交消息

使用交互式变基来更改较早的或多个提交消息。

  1. 在命令行上,导航到包含要修改的提交的存储库。

  2. 开始对最近的 n 次提交进行交互式变基。

    git rebase -i HEAD~n
    
  3. 在提交列表中,在要更改的每条提交消息前,将 pick 替换为 reword

    pick e499d89 Delete CNAME
    reword 0c39034 Better README
    reword f7fde4a Change the commit message
    
  4. 保存并关闭提交列表文件。

  5. 在打开的每个提交消息文件中,输入新消息,然后保存并关闭该文件。

  6. 强制推送已重写的历史记录。

    git push --force-with-lease origin EXAMPLE-BRANCH
    

请参阅 Git 手册中的 交互模式

警告

如果提交消息包含敏感信息,强制推送修改后的提交可能无法从 GitHub 中删除原始提交记录。 请联系 通过网站管理员GitHub支持门户 并提供旧的提交 ID,以便将其从远程存储库中清除。

延伸阅读