如何使用TortoiseGit编辑错误的提交消息?


Answers:


160

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

  1. 上下文菜单-> Git提交
  2. 勾选“修改最后提交”复选框
  3. 更正您的提交消息

如果提交是另一个分支的头,请首先切换到该分支。

  1. 上下文菜单-> TortoiseGit->切换/签出
  2. 选择分支名称
  3. 请按照上述1-4步来修改提交消息

如果提交在中间,而头部之间没有任何合并,则需要重置,修改和选择

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

12
我真的很想念TortoiseSVN的“编辑日志消息”。他们有机会添加这样的功能吗?
Benoit Blanchon 2013年

3
我在步骤6迷路了,“从头选择到上面的一个提交”是什么意思,它是上下文菜单中的一个选项吗?
Flethuseo 2014年

1
在步骤6中也丢失了。在任何地方都没有选择的选择,无论如何我都看不到上面的提交(只是说工作目录更改,而实际上没有更改)
Robert Ivanc 2014年

13
拒绝投票是因为我认为在提交处于中间的情况下的建议使我放弃了直到该提交为止的代码更改,这需要花费数周的时间。
塞缪尔

8
警告:在重置为要修改的提交之前,请使用“在此版本中创建分支”设置一个临时分支名称。否则,您可能会失去所有超过此点的提交。(如果您已经遇到这种情况,git reflog将帮助您找回它们)。
史蒂夫·投手

19

对于提交处于中间的情况,我强烈建议您不要遵循linquize提供的说明,请参阅其答案下面的评论以了解原因。

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

  2. 这个youtube影片很好地解释了它:http: //youtu.be/4YjKY0u9Z6I。基本上使用git rebase -i,然后简单地“ reword”提交消息。

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


7
同意 git花了我不可思议的时间去学习如何使用,SVN是如此简单。git的概念很简单,但用法却并非如此。
塞缪尔

TortoiseGit还提供了交互式基础,您无需为此使用命令行。
彼得(Peter

13

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

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

  • 在rebase对话框中时,右键单击要编辑的提交,然后选择Edit选项。您可以选择编辑多个提交。
  • 点击Start Rebase按钮。
  • Rebase将在您标记为的提交处暂停 Edit
  • 单击Commit Message底部的选项卡,然后编辑消息
  • 点击Amend按钮继续
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.