从远程git仓库中删除最后一个提交

可能重复:
通过1提交回滚本地和远程git存储库

如何从远程GIT存储库中删除最后一次提交,例如我在日志中看不到它?

例如,如果git log给我下面的提交历史logging

 A->B->C->D[HEAD, ORIGIN] 

我怎么去

 A->B->C[HEAD,ORIGIN] 

谢谢。

请注意,这将为已经从远程存储库获取/拉取/克隆的人员创build“备用现实”。 但事实上,这很简单:

 git reset HEAD^ # remove commit locally git push origin +HEAD # force-push the new HEAD commit 

如果您想要在本地存储库中保留它,只需从远程删除它,则可以使用:

 git push origin +HEAD^:<name of your branch, most likely 'master'> 

如果没有人拉它,你可以做类似的事情

 git push remote +branch^1:remotebranch 

这将强制更新远程分支到最后一个分支。