关于git:如何使用TortoiseGit编辑错误的提交消息?

How do I edit an incorrect commit message with TortoiseGit?

如何使用tortoiseGIT编辑提交消息?问题与此非常相似,但是我想通过TortoiseGit而不是通过控制台来做到这一点,这可能吗?


如果提交是当前分支的头,那很容易。

  • 上下文菜单-> Git Commit
  • 勾选"修改最后提交"复选框
  • 更正您的提交消息
  • 好的
  • 如果提交是另一个分支的头,请首先切换到该分支。

  • 上下文菜单-> TortoiseGit->切换/签出
  • 选择分支名称
  • 好的
  • 请按照上述1-4步修改提交消息
  • 如果提交位于中间,而head之间没有任何合并,则需要重置,修改和cherry-pick

  • 上下文菜单-> TortoiseGit->日志
  • 选择提交->上下文菜单->重置
  • 硬重置(这将丢弃所选提交上方的提交中包含的所有工作,以及工作目录中所有未提交的更改)
  • 好的
  • 请按照上述1-4步修改提交消息
  • 从头到上一个提交中选择->上下文菜单-> Cherry-pick
  • 继续

  • 对于提交处于中间的情况,我强烈建议您不要按照linquize提供的说明进行操作,请参阅其答案下方的注释以了解其原因。

  • 您可以将git命令行与TortoiseGit一起使用,并且不会引起任何问题:我可以同时使用命令行Git工具和TortoiseGit吗?。

  • 这段youtube视频非常好地说明了这一点:http://youtu.be/4YjKY0u9Z6I。基本上使用git rebase -i,然后简单地"重新编写"提交消息。

  • 更新:我相信您可以从linquize建议的硬重置中检索丢失的提交,请参阅Wayne的回答:如何使用Git rebase重新排序/合并提交?


    我想说,修改任何提交消息的最佳方法是使用TortoiseGit中的force rebase选项。

    有关如何使用TortoiseGit重新排序提交(变基)的信息,请参见此答案。可以使用相同的方法来编辑提交消息。

    • Upstream框中,选择一个HEAD,它是您当前分支历史记录中的某个提交的分支。如果没有这样的分支,请从要编辑提交消息的提交中临时创建它。
    • 点击force rebase
    • 右键单击要编辑的提交,然后选择Edit选项。您可以选择编辑多个提交。
    • 单击Start Rebase按钮。
    • Rebase将在您标记为Edit的提交时暂停
    • 单击底部的Commit Message选项卡并编辑消息
    • 单击Amend按钮继续