如何删除意外推送的内容

时间:2012-02-11 20:02:35

标签: git github git-push git-commit

我想在我的网站上进行源代码管理。有很多文件所以我只是去了git add -a

不幸的是,我意外地提交并推送了一个名为credentials.txt的文件,该文件包含我的ftp和db详细信息。我已经尝试删除该文件,然后提交然后推送,但是当我在历史记录中浏览github上的repo时它仍然显示该文件。

有没有摆脱这个?

2 个答案:

答案 0 :(得分:9)

Github对这个话题有一个很好的guide。它解释了如何将其从存储库中取出,以及如何处理可能已经存在于公众手中的数据。

答案 1 :(得分:5)

您必须使用git filter-branch重写历史记录。 Andy发布了a guide on github for doing this的链接。

无论如何,删除文件不会消除损坏 - 任何在此期间撤回你的回购的人都有它,至少它是在github的基础设施中。所以,不要打扰。

不要试图隐藏发生的事情,而是进行损害控制并更改密码。不要试图遏制一个已经存在的秘密 - 引用本杰明富兰克林的话,“三个人可以保守秘密的唯一方法就是两个人死了”。

如果它暂时在互联网上,可以安全地假设它被十几个人保存了下来。如果你不从这个角度工作,它可能会回来咬你。