如何删除 Git/GitHub 中指定分支的所有提交历史记录?

描述

在使用 Git/GitHub 的过程中,我们总会因为这样那样的原因想要删除某(些)次提交历史记录。
譬如,好不容易调好了程序可以运行,最后发现,WTF 竟然把自己的帐号密码啊ID啊什么的
也一并提交上去了!!!

这可咋整啊 ⊙︿⊙
总不能把这个仓库删了?然后重新创?
。。。。。。。

Git 肯定是能做到删除指定次提交的
但一方面笔者研究之后发现删除上一次的提交还好,要是删除上N次的,那就复杂了
另一方面笔者也没有实际上进行过这种操作,故不在本文介绍。

由于笔者的 GitHub 都是只有自己操作 (⊙ ▽ ⊙)
(不会干掉了别人的 commit 挨捶)
况且笔者也只是觉得仓库 commit 太多次了,有许多不足之处,并且当前 commit 才算是初步完成项目 (⊙ω⊙)
才打算删除 commit 记录的

废话不多说,开整!

步骤

删除指定分支的所有提交历史记录。

Table of Contents