我有一个被推送到远程的提交,我想更改它的消息。如何更改推送的git commit的名称?
我知道我可以使用git push -f
强制推送不同的提交,但首先我需要删除旧提交并保留更改,以便我可以再次提交。
我该怎么做?
我有一个被推送到远程的提交,我想更改它的消息。如何更改推送的git commit的名称?
我知道我可以使用git push -f
强制推送不同的提交,但首先我需要删除旧提交并保留更改,以便我可以再次提交。
我该怎么做?
作为一个免责声明,这个答案涉及到重写有关分支的历史。因此,应该谨慎使用已公开分享的分支机构。
最简单的解决这里,假设没有其他人推到分支的远程副本,是简单地修改提交经:
git commit --amend
这应该弹出一个文本编辑器,你可以将提交消息更改为任何你想要的。
正如你所说,你现在必须强制通过这个分支推送到远程的:
git push --force origin yourBranch
如果你想改变的最新承诺,使用
git commit --amend
然而,对于已经被推送的提交,你只能这样做,如果你确信没有人签出的承诺将要覆盖。
以及你需要使用下面的命令git commit --amend
,这将创造同样的地方,但有正确的信息提交,然后你把它推到远程
使用:
git commit --amend
似乎这里是显而易见的解决方案,但你没有提到任何分支在你的问题,以便答案可能不正确的解决方案在你的情况。 如果您要重命名的承诺是只有你创建的,至今使用的,并没有被合并到另一个分支的一个分支,我建议另一种选择是:
不过,它确实取决于提交是在单独的分支上还是在主要分支上(例如,主)。
我认为有问题的提交已经推送到远程。 –
没错,但如果它在没有人使用的分支上,它可以安全地删除。似乎这个问题缺乏关于分支的信息。无论如何,似乎他接受了你的回答,所以我刚才提出了另一种解决问题的方法 – yorammi
谢谢,我以为'--amend'只用于本地提交。 – jcubic