在使用git管理项目的时候,发现项目中的文件中含有隐私的数据信息,而且项目在gitee中管理,这是及其不安全的,即使新的提交删除了隐私文件也会在历史提交中找到。
因此需要从历史中完全删除这个文件
从网上找到的方法:使用git filter-branch
git filter-branch --force --index-filter "git rm --cached --ignore-unmatch xxx/xxx" --prune-empty --tag-name-filter cat -- --all
自己试了一下,发现还是没有去掉历史记录的文件,所以我改成了下面的指令:
git filter-branch --force --tree-filter "git rm -f --ignore-unmatch xxx/xxx" --prune-empty --tag-name-filter cat -- --all
这个指令操作风险很大,在实际操作的时候最好能备份。