如何更改Git提交消息

使用Git时,可能会遇到需要编辑提交消息的情况。 您要进行更改的原因有很多,例如修正错字,删除敏感信息或添加其他信息。

本指南说明了如何更改最新或较旧的Git提交的消息。

更改最近的提交编号

git commit --amend 命令允许您更改最新的提交消息。

未推送提交

要更改尚未推送到远程存储库的最新提交的消息,请使用 --amend 旗。

  1. 导航到终端中的存储库目录。

  2. 运行以下命令以修改(更改)最新提交的消息:

    git commit --amend -m "New commit message."

    该命令的作用是用新提交覆盖最新提交。

    -m 选项允许您在不打开编辑器会话的情况下在命令行上编写新消息。

在更改提交消息之前,您还可以添加以前忘记的其他更改:

git add .git commit --amend -m "New commit message."

推送提交

修改(更改)的提交是具有不同SHA-1的新实体。 先前的提交将不再存在于当前分支中。

通常,您应该避免修改已经被推送的提交,因为这可能会给基于此提交工作的人们带来麻烦。 在更改推送的提交之前,最好先咨询您的开发人员。

如果更改了最近推送的提交的消息,则必须强制推送它。

  1. 导航到存储库。

  2. 修改最新的推送提交的消息:

    git commit --amend -m "New commit message."
  3. 强制推送以更新远程存储库的历史记录:

    git push --force branch-name

更改较早或多次提交

如果您需要更改较早或多次提交的消息,则可以使用交互式 git rebase 更改一个或多个较早的提交。

rebase 该命令将重写提交历史记录,强烈建议不要对已经推送到远程Git存储库的提交进行重新整理。

  1. 导航到包含要更改的提交消息的存储库。

  2. 类型 git rebase -i HEAD~N,在哪里 N 是执行基准的提交数。 例如,如果要更改第4次提交和第5次最新提交,请输入:

    git rebase -i HEAD~5

    该命令将显示最新的 X 在您的默认文本编辑器中提交:

    pick 43f8707f9 fix: update dependency json5 to ^2.1.1
    pick cea1fb88a fix: update dependency verdaccio to ^4.3.3
    pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2
    pick c5e078656 chore: update dependency flow-bin to ^0.109.0
    pick 11ce0ab34 fix: Fix spelling.
    
    # Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)
  3. 移至要更改和替换的提交消息的行 pickreword

    reword 43f8707f9 fix: update dependency json5 to ^2.1.1
    reword cea1fb88a fix: update dependency verdaccio to ^4.3.3
    pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2
    pick c5e078656 chore: update dependency flow-bin to ^0.109.0
    pick 11ce0ab34 fix: Fix spelling.
    
    # Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)
  4. 保存更改并关闭编辑器。

  5. 对于每个选定的提交,将打开一个新的文本编辑器窗口。 更改提交消息,保存文件,然后关闭编辑器。

    fix: update dependency json5 to ^2.1.1
  6. 强制将更改推送到远程存储库:

    git push --force branch-name

结论#

要更改最新的提交消息,请使用 git commit --amend 命令。 要更改旧的或多条提交消息,请使用 git rebase -i HEAD~N

不要修改推送的提交,因为它可能会给您的同事带来很多问题。

如果您遇到问题或有反馈,请在下面发表评论。

吉特

Sidebar