Git 清理远端仓库全部提交历史
删除 Git 仓库全部提交历史但保留仓库本身,适用于清理隐私信息或给仓库瘦身。
注意
此操作不可逆,会永久删除仓库的所有提交历史,请提前做好备份。
背景
当提交记录中包含隐私信息(如密钥、密码),或仓库因上传大量文件导致体积过大、拉取频繁出错时,可以通过清除全部提交历史来"瘦身"仓库,同时保留仓库本身(Star、Issues 等不受影响)。
以下两种方法均以 main 分支为例,操作前请先将仓库克隆到本地。
方法一:创建空白分支替换
通过 --orphan 创建一个没有历史的新分支,替换掉原来的 main:
方法二:删除 .git 重新初始化
直接删除本地的 Git 历史,重新初始化一个全新的仓库:
两种方法的区别
- 方法一保留了本地 Git 配置(如 remote、branch tracking),操作更简单
- 方法二完全重置仓库,但需要手动填写远程仓库地址,且会丢失所有本地 Git 配置