从远程Git存储库中删除最后一次提交

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

例如,git log给出了以下提交历史

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

我怎么去

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

谢谢。

368181 次浏览

如果没有人拉它,你可能会做一些

git push remote +branch^1:remotebranch

这将强制将远程分支更新到分支的倒数第二个提交。

注意,这将为已经从远程存储库获取/提取/克隆的人创建“另一种现实”。但事实上,这很简单:

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'>