如何编辑推送git提交的提交消息

时间:2017-03-13 09:24:44

标签: git egit tortoisegit

我希望更改其消息的提交已被推送,并且在5次提交中 。有没有办法编辑提交消息?编辑后会发生什么事情,当有人已经撤回提交时?

3 个答案:

答案 0 :(得分:3)

由于这是用tortoisegit标记的,我将告诉你如何在TortoiseGit中实现这一目标

  1. 打开rebase:Rebase

  2. Rebase to eg掌握并选择“编辑”Edit

  3. '开始rebase'并编辑消息。之后再按'ammend'。 enter image description here

答案 1 :(得分:1)

最佳做法是不要改变已被推动的内容。

但是,您可以使用git rebase -i编辑任何提交,并选择r (reword)作为您要更改的提交。

如果您之前推过它,则需要使用push -f(强制推送)推送它。

您将从该提交更改整个树并转发,以便克隆存储库的所有其他树都需要执行git pull才能使其正确。如果他们根据当前的树进行了更改,那么他们会让他们变得困难,所以最好的办法是让每个人都推动他们的更改,“冻结”存储库,然后在推动后再次拉动它们。

答案 2 :(得分:1)

通常不建议更改已公开提交的提交。当你意识到自己时,当其他人已经在其上工作时编辑这样的提交可能会在对方试图发布他们的工作时导致冲突。

话虽如此,git rebase -i HEAD~5将允许您以交互方式重新设置最近五次提交。它将在您的编辑器中打开一个ToDo文件,允许您根据需要重写历史记录。其中,将有一个reword选项,允许您更改特定提交的提交消息。您只需将所述提交前面的pick更改为reword并保存该文件,git将提示您输入新的提交消息。

请注意,您将创建一个全新的提交,如果您想要发布它,则必须使用--force选项。