我已经提交了git并随后推送。我想更改提交消息。如果我理解正确,这是不可取的,因为在我进行此类更改之前,可能有人从远程存储库中删除了内容。如果我知道没人拉过呢?

有办法做到这一点吗?


当前回答

如果您想修改一个较旧的提交,而不是最后一个提交,则需要使用rebase命令,如Github帮助页面“修改较旧或多个提交消息的消息”部分中所述

其他回答

git commit --amend

使用编辑提交消息打字键盘

git push --force

命令1。

git commit --amend -m "New and correct message"

然后

命令2。

git push origin --force

如果您想修改一个较旧的提交,而不是最后一个提交,则需要使用rebase命令,如Github帮助页面“修改较旧或多个提交消息的消息”部分中所述

如果您使用的是位桶管道,则有关相同问题的附加信息

编辑您的邮件

git commit --amend

推到服务器

git push --force <repository> <branch>

然后在管道上的push命令中添加--force

git ftp push --force

这将删除您以前的提交并推送当前提交。

在第一次推动后移除--力

我在bitbucket管道上试过了,效果很好

需要注意的是,如果您对多个引用使用push-force,那么它们都将被修改。确保注意git repo的配置位置。幸运的是,通过指定要更新的单个分支,有一种方法可以稍微保护这个过程。阅读git手册页:

注意--力应用于所有被推动的ref,因此使用它具有push.default设置为匹配或多个push使用remote.*.push配置的目标可能会覆盖其他引用比当前分支(包括严格落后的本地引用它们的远程对应物)。要强制推送仅一个分支,请使用+在refspec前面推送(例如git推送原点+主推送强制推到主分支)。