How do I edit an incorrect commit message with TortoiseGit?
如何使用tortoiseGIT编辑提交消息?问题与此非常相似,但是我想通过TortoiseGit而不是通过控制台来做到这一点,这可能吗?
- 相关文章:Git:如何在已推送到BitBucket的SourceTree-Windows中编辑提交消息?
如果提交是当前分支的头,那很容易。
上下文菜单-> Git Commit
勾选"修改最后提交"复选框
更正您的提交消息
好的
如果提交是另一个分支的头,请首先切换到该分支。
上下文菜单-> TortoiseGit->切换/签出
选择分支名称
好的
请按照上述1-4步修改提交消息
如果提交位于中间,而head之间没有任何合并,则需要重置,修改和cherry-pick
上下文菜单-> TortoiseGit->日志
选择提交->上下文菜单->重置
硬重置(这将丢弃所选提交上方的提交中包含的所有工作,以及工作目录中所有未提交的更改)
好的
请按照上述1-4步修改提交消息
从头到上一个提交中选择->上下文菜单-> Cherry-pick
继续
- 我真的很想念TortoiseSVN的"编辑日志消息"。他们有机会添加这样的功能吗?
-
转到TortoiseGit问题跟踪器code.google.com/p/tortoisegit/issues/list提交功能请求
-
我在步骤6迷路了,"从头选择到上面的一个提交"是什么意思,它是上下文菜单中的一个选项吗?
-
在步骤6中也丢失了。任何地方都没有樱桃选择选项,而且无论如何我都看不到上面的提交(只是说工作目录更改,实际上没有任何更改)
-
在步骤6中也丢失了,在那之后我所有的提交都被从日志中删除了。代码更改也丢失了吗?请帮忙。
-
拒绝投票,因为我认为在提交处于中间的情况下的建议使我放弃了直到该提交为止的代码更改,这需要花费数周的时间。
-
我相信您可以从硬重置中检索丢失的提交,请参阅此处的韦恩答案:stackoverflow.com/questions/2080443/…。
-
通过在硬重置后不关闭或刷新初始日志窗口,我能够执行Linquize的中间提交步骤,而不会丢失以后的提交(我只有一个)。本应被删除的提交仍在列表中可见,我可以在第6步中运行Cherry Pick使其恢复(注意)。我要添加"不要关闭/刷新日志窗口!"的指示,但我不明白发生了什么。我以为硬重置实际上从存储库中删除了数据,但是不知何故又回来了。
-
警告:在重置为要修改的提交之前,请使用"以此版本创建分支"设置一个临时分支名称。否则,您可能会失去所有超过此点的提交。 (如果这已经发生在您身上,git reflog将帮助您检索它们)。
-
@StevePitchers,确切地说,这是答案应以粗体显示的内容。
-
屏幕下方还有一个名为"仅消息"的切换,可能是较新版本引入的。当您只想修改消息时,这很有用。
-
我知道重写历史记录不是一件好事,默认情况下,所有版本控制系统都会使重写变得困难,但是我不明白为什么编辑提交消息应该很困难。不必将其视为编辑历史记录;并不是说SHA正在改变。好的提交消息总是很有帮助的,有时我需要重新访问。
对于提交处于中间的情况,我强烈建议您不要按照linquize提供的说明进行操作,请参阅其答案下方的注释以了解其原因。
您可以将git命令行与TortoiseGit一起使用,并且不会引起任何问题:我可以同时使用命令行Git工具和TortoiseGit吗?。
这段youtube视频非常好地说明了这一点:http://youtu.be/4YjKY0u9Z6I。基本上使用git rebase -i,然后简单地"重新编写"提交消息。
更新:我相信您可以从linquize建议的硬重置中检索丢失的提交,请参阅Wayne的回答:如何使用Git rebase重新排序/合并提交?
-
同意git花了我不可思议的时间去学习如何使用,SVN是如此简单。 git的概念很简单,但用法却并非如此。
-
TortoiseGit还提供了交互式变基,您无需为此使用命令行。
我想说,修改任何提交消息的最佳方法是使用TortoiseGit中的force rebase选项。
有关如何使用TortoiseGit重新排序提交(变基)的信息,请参见此答案。可以使用相同的方法来编辑提交消息。
-
在Upstream框中,选择一个HEAD,它是您当前分支历史记录中的某个提交的分支。如果没有这样的分支,请从要编辑提交消息的提交中临时创建它。
-
点击force rebase
-
右键单击要编辑的提交,然后选择Edit选项。您可以选择编辑多个提交。
-
单击Start Rebase按钮。
-
Rebase将在您标记为Edit的提交时暂停
-
单击底部的Commit Message选项卡并编辑消息
-
单击Amend按钮继续