git 提交了一些敏感信息,如何进行彻底删除

/ 2015-06-02

如果自己一个不小心的提交了一些敏感的信息到git上面,而自己的项目有可能被其他人看到,如果查看历史记录还是能看到自己提交那些文件。

那么如何彻底从历史记录中的删除这些文件呢?

可以通过下面的命令进行删除,比如删除 db.properties 文件

  1. git filter-branch --index-filter 'git rm --cached --ignore-unmatch db.properties*' --prune-empty --tag-name-filter cat -- --all
  2. git push origin master --force
  3. rm -rf .git/refs/original/
  4. git reflog expire --expire=now --all
  5. git gc --prune=now
  6. git gc --aggressive --prune=now

也可以通过这样删除项目里面历史提交的大文件,使得使用git clone可以更快。

注意 这样也只能删除当前的,如果有人在之前fork过代码了,那样其它人fork的分支上面还是会有这些文件的。

转载请注明作者和出处,并添加本页链接。
原文链接: //xiaochun.zrlog.com/delete-git-sensitive-file.html