敏感数据未被删除

时间:2015-01-30 18:13:38

标签: git github

我将oauth信息存储在github上的.js文件中,但是当我尝试清除它时,它没有被删除。

git filter-branch --force --index-filter "git rm --cached --ignore-unmatch config" --prune-empty --tag-name-filter cat -- --all

我在Windows 7 64位上使用git版本1.9.5.msysgit.0。

在我完成所有这些之后,github仍然存在github。有人可以帮助我,让我知道我做错了什么吗?

问题解决了:该文件名为config.js,而不是config。感谢

编辑:

Rewrite f8899b62eca2db6bee196e9096e50af54a11dce6 (13/27)rm 'config.js'
Rewrite 7d552dfff83f73680319339199b453fe2c68c486 (14/27)rm 'config.js'
Rewrite af45e665de54b5742c5b7a2abc42930bc3a495a7 (15/27)rm 'config.js'
Rewrite 43ed6fdd603bed538f938b4032327387b5ba678d (16/27)rm 'config.js'
error: duplicate parent 0e53d2d536c4804eb2dd085a6d0a9d9b004efa66 ignor
Rewrite e075498a66de25641d29f02f772f2a026aa2168d (17/27)rm 'config.js'
Rewrite 5312d1b1ae8e0f232daaa05aae630eb016cc417f (18/27)rm 'config.js'
Rewrite 55279be6bf144ea601525523b6262f5d20baebd2 (24/27)rm 'config.js'
Rewrite 3c4534f639742cb33ffb6f43ad1ca6d0df783b3f (25/27)rm 'config.js'
Rewrite ca4a556bdf8efb131786d0b7219098312d5edb0d (27/27)
Ref 'refs/heads/master' was rewritten
Ref 'refs/remotes/origin/master' was rewritten
WARNING: Ref 'refs/remotes/origin/master' is unchanged

2 个答案:

答案 0 :(得分:1)

至关重要您使受损的OAuth信息无效并生成新凭据。我建议您在担心清理历史记录之前这样做。

不幸的是,有机器人在寻找这种东西:

你的filter-branch命令看起来不错¹。一旦你在本地清理你的历史记录,你就需要强制推送到GitHub:

git push origin --force --all

在服务器上运行git-gc之前,违规提交将保留在GitHub上。您可以等待这种情况发生,或者您可以submit a support ticket要求在您的存储库中运行它。

¹确保完整的文件名(包括扩展名)与... "git rm --cached --ignore-unmatch config" ...部分匹配。

答案 1 :(得分:0)

在执行git gc之前,您是否删除了备份引用和reflog条目?

检查

git rev-list --objects --all | grep config

如果文件被删除。

我还写了一篇关于从git存储库中删除文件的博客。您可以在Remove directories and files permanently from git找到更多信息。

我还在github上发布了一个gui工具,可以帮助删除文件。有关此工具的更多信息,请访问:GitDirStat – a git maintenance gui。可以下载实际release。它是纯粹的java。