我有一个包含大约16个提交的存储库,都被推送到远程服务器,所有这些只在主分支上提交。
我希望最后3次提交完全被删除,就好像它们从未发生过一样,所以看到回购的人只会看到前13个。 我甚至不想知道最后三个。
我该怎么做?对于不同的情况,我看到了很多不同的答案。我只是需要这个具体方案的帮助。
答案 0 :(得分:1)
使用
git reset --hard HEAD~3
您将删除最后3次提交,但由于您已将其推送到远程,因此您需要强制推送它。
git push origin HEAD --force
请注意,如果其他人已经提取了这些提交,当他们再次提取时,已删除的提交将被合并并可能被推回。
作为旁注,git revert
通常是最好的方法,因为它不会重写历史记录,避免可能出现的并发症。