【Git】如何清除git仓库的所有提交记录,成为一个新的干净仓库

78 阅读1分钟

一、问题背景

在使用Git进行代码管控时,要是不小心把一些敏感的信息上传到代码仓库了,怎么办?由于Git存在版本管控,就算删除敏感信息后,进行重新提交commit,历史记录中还是能查到。那有没有什么方法把提交记录清除掉,让代码仓库成为一个全新的仓库呢?答案是肯定的,直接按照下面一步步操作就可以解决此问题。

二、操作步骤

  1. 切换到全新的分支,此时新分支上没有任何的提交记录
git checkout --orphan latest_branch
  1. 添加需要进行Git版本管控的文件
# 添加除.gitignore中声明排除的所有文件
 git add -A
  1. 提交文件修改信息
 git commit -am "commit message"
  1. 删除存在敏感信息的分支(如:master分支)
git branch -D master
  1. 重命名当前分支为master分支
 git branch -m master
  1. 使用强制提交到远端master分支,完成敏感信息清除
 git push -f origin master

总结

通过以上步骤就可以轻松的把远端代码仓库的历史提交记录完全清除,不过最好还是在代码提交时,严格要求日志填写规范,认真检查提交的代码内容,尽量避免将敏感信息提交到代码仓库。