有些git项目出于一些原因我们需要删除提交历史。
有如下场景:
不小心把配置文件的密钥等信息上传出去了又想撤回。
项目commit次数太多了,删除commit可以相当于清理一下repo,可以缩小体积
如果是单人的项目,这时候可以用命令:git push --force
来完成。这样会覆盖上一次commit。
如果是想删除所有的提交历史,我们可以用以下的命令:
# 1. 创建全新的孤立分支 latest_branch
git checkout --orphan latest_branch
# 2. 暂存所有文件
git add -A
# 3. 提交所有文件的修改到latest_branch
git commit -am "del all history"
# 4. 删除原来的master分支
git branch -D master
# 5. 修改latest_branch分支名为master
git branch -m master
# 6. 强制更新远程服务器的master分支, 至此清空git所有历史
git push -f origin master