如何从git存储库中删除文件的所有痕迹而不将其从目录中删除?

时间:2013-02-07 14:41:53

标签: git

Github guide on removing sensitive data之后似乎导致违规文件被彻底删除,包括从目录中删除。有没有办法从git存储库中删除有问题的文件(好像它从未提交过),但是没有从目录中删除它?显然它应该被添加到.gitignore文件中。

注意:这只是一个假设的问题;我实际上没有暴露过敏感信息。

编辑:我确实知道我可以简单地将文件复制出目录,然后按照Github上的说明将其移回。我想知道是否有一种“git方式”来完成我的要求。

2 个答案:

答案 0 :(得分:3)

git rm --cached将从索引中删除文件而不从工作副本中实际删除文件,您可以根据您的链接使用git filter-branch从存储库的历史记录中清除文件。

答案 1 :(得分:0)

好吧从git存储库中删除它。您可以按照您在问题中链接的github页面中描述的步骤进行操作。 只需将您的文件复制到另一个目录中,然后在执行git过程后将其移回。

现在说如果你的存储库是公共的(比如在github上),你就不能安全地认为你的敏感数据还没有被其他用户提取。