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

有办法做到这一点吗?


当前回答

确保在正确的分支上进行更改

git checkout 

#确保您在正确的分支上进行更改只是为了确定:

git checkout branchname

Then

git commit --amend -m "new message"

然后按下

git push --force

其他回答

这对我来说很好,

git签出原点/分支名称

如果您已经在分支中,那么最好进行拉入或重入

git pull

or

git -c core.quotepath=false fetch origin --progress --prune

稍后您可以简单地使用

git commit --amend -m "Your message here"

或者如果您想打开文本编辑器,请使用

git commit --amend

如果你有很多评论,我更喜欢使用文本编辑器。您可以使用命令设置首选文本编辑器

git config --global core.editor your_preffered_editor_here

无论如何,当您更改完提交消息后,保存并退出

然后运行

git push --force

你已经完成了

只要说:

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

然后

git push --force

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

命令1。

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

然后

命令2。

git push origin --force

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

编辑您的邮件

git commit --amend

推到服务器

git push --force <repository> <branch>

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

git ftp push --force

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

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

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