如何更改被推送的git提交的名称?

时间:2017-06-16 06:29:20

标签: git push rename commit

我有一个推送到遥控器的提交,我想改变它的消息。

我知道我可以使用git push -f强制推送不同的提交但首先我需要删除旧的提交并保留更改,所以我可以再次提交。

我该怎么做?

4 个答案:

答案 0 :(得分:5)

作为免责声明,此答案涉及重写相关分支的历史记录。因此,应该谨慎使用已公开分享的分支机构。

这里最简单的解决方法,假设没有其他人推送到分支机构的远程对应部分,只需通过以下方式修改提交:

git commit --amend

这应该会显示一个文本编辑器,您可以在其中将提交消息更改为您想要的任何内容。

正如您所提到的,您现在必须通过以下方式强制将此分支推送到远程:

git push --force origin yourBranch

答案 1 :(得分:2)

如果要更改最新提交,请使用

git commit --amend

但是,对于已经推送的提交,如果您确定没有人检出您要覆盖的提交,则应该只执行此操作。

答案 2 :(得分:1)

你需要使用以下命令git commit --amend,它将在本地创建相同的提交但是有正确的消息,然后你将它推送到远程

答案 3 :(得分:0)

使用:

git commit --amend

在这里似乎是一个明显的解决方案,但你没有在你的问题中提及任何分支,因此在你的情况下答案可能不是正确的解决方案。 如果要重命名的提交位于目前为止只创建和使用的分支上,并且尚未合并到另一个分支中,我建议使用另一个选项:

  • 在问题提交之前从提交分支到新分支
  • 重新执行代码更改
  • 使用正确的消息文本重新提交
  • 推新分会
  • 删除并删除旧分支

但是,这实际上取决于提交是在单独的分支上还是在主要分支上(例如主分支)。