我已经提交了git并随后推送。我想更改提交消息。如果我理解正确,这是不可取的,因为在我进行此类更改之前,可能有人从远程存储库中删除了内容。如果我知道没人拉过呢?
有办法做到这一点吗?
我已经提交了git并随后推送。我想更改提交消息。如果我理解正确,这是不可取的,因为在我进行此类更改之前,可能有人从远程存储库中删除了内容。如果我知道没人拉过呢?
有办法做到这一点吗?
当前回答
这对我来说很好,
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 -f
完成时间:)
我对Git有点陌生,但我只是想增加我的经验。
gitcommit--modify-m“新的正确消息”
这很奏效,但下一个是我的问题。在更改提交消息之前,我已经推送了提交。最后,当我试图推到远程时,git抛出了一个异常。所以我应该在更新远程分支之前再次下拉。
git pull-origin分支名称
git推送源分支名称
希望我的小经验对你有所帮助。谢谢
如果使用-S参数提交工作消息,则会发生以下事件:
git checkout branch
git commit --amend -m "Your new message"
在这一点上,不要忘记您添加了一个更改,而您的遥控器是不同的,这就是为什么您需要这样做的原因:
git push --force
如果您使用VSCode,您将看到不同之处,使用--force参数,您将忽略git pull,并将更改后的消息推送到相同的提交。
案例1:未推送+最近提交:请参阅
案例2:已推送+最近提交:请参阅
案例3:未推送+旧提交:请参阅
案例4:已推送+旧提交:请参阅
git commit --amend
然后在当前窗口中编辑和更改消息。在那之后
git push --force-with-lease