我有一个推送到遥控器的提交,我想改变它的消息。
我知道我可以使用git push -f
强制推送不同的提交但首先我需要删除旧的提交并保留更改,所以我可以再次提交。
我该怎么做?
答案 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
在这里似乎是一个明显的解决方案,但你没有在你的问题中提及任何分支,因此在你的情况下答案可能不是正确的解决方案。 如果要重命名的提交位于目前为止只创建和使用的分支上,并且尚未合并到另一个分支中,我建议使用另一个选项:
但是,这实际上取决于提交是在单独的分支上还是在主要分支上(例如主分支)。