删除git repo中所有以前版本的文件

时间:2014-11-09 18:10:59

标签: git git-filter-branch

我在git repo中有一个文件,它包含敏感信息。我在最近的提交中删除了这些信息。现在我想从git存储库中删除此文件的所有先前版本。怎么办呢?

我相信它可以通过git-filter-branch来完成,但我还没有遇到一个例子,我可以把头包裹起来。

1 个答案:

答案 0 :(得分:2)

引用git文档:

  

假设您要删除文件(包含机密信息)   或所有提交中的侵犯版权:

git filter-branch --tree-filter 'rm filename' HEAD
     

但是,如果某个提交的树中缺少该文件,则很简单   对于该树和提交,rm文件名将失败。因此你可以改为   想使用rm -f filename作为脚本。

因此,您希望运行git filter-branch --tree-filter 'rm -f filename' HEAD以删除该文件的所有历史记录