完全删除推送的提交

时间:2018-01-07 23:58:11

标签: git

我有一个包含大约16个提交的存储库,都被推送到远程服务器,所有这些只在主分支上提交。

我希望最后3次提交完全被删除,就好像它们从未发生过一样,所以看到回购的人只会看到前13个。 我甚至不想知道最后三个。

我该怎么做?对于不同的情况,我看到了很多不同的答案。我只是需要这个具体方案的帮助。

1 个答案:

答案 0 :(得分:1)

使用

git reset --hard HEAD~3

您将删除最后3次提交,但由于您已将其推送到远程,因此您需要强制推送它。

git push origin HEAD --force

请注意,如果其他人已经提取了这些提交,当他们再次提取时,已删除的提交将被合并并可能被推回。

作为旁注,git revert通常是最好的方法,因为它不会重写历史记录,避免可能出现的并发症。

相关问题