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

时间:2011-11-22 10:13:51

标签: git

  

可能重复:
  Rolling back local and remote git repository by 1 commit

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

例如,git log为我提供以下提交历史记录

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

我怎么去

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

感谢。

2 个答案:

答案 0 :(得分:459)

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

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

答案 1 :(得分:10)

如果没有人拉过它,你可能会做类似

的事情
git push remote +branch^1:remotebranch

将强制将远程分支更新为分支的最后一次提交。