我想在我的网站上进行源代码管理。有很多文件所以我只是去了git add -a
不幸的是,我意外地提交并推送了一个名为credentials.txt的文件,该文件包含我的ftp和db详细信息。我已经尝试删除该文件,然后提交然后推送,但是当我在历史记录中浏览github上的repo时它仍然显示该文件。
有没有摆脱这个?
答案 0 :(得分:9)
Github对这个话题有一个很好的guide。它解释了如何将其从存储库中取出,以及如何处理可能已经存在于公众手中的数据。
答案 1 :(得分:5)
您必须使用git filter-branch
重写历史记录。 Andy发布了a guide on github for doing this的链接。
无论如何,删除文件不会消除损坏 - 任何在此期间撤回你的回购的人都有它,至少它是在github的基础设施中。所以,不要打扰。
不要试图隐藏发生的事情,而是进行损害控制并更改密码。不要试图遏制一个已经存在的秘密 - 引用本杰明富兰克林的话,“三个人可以保守秘密的唯一方法就是两个人死了”。
如果它暂时在互联网上,可以安全地假设它被十几个人保存了下来。如果你不从这个角度工作,它可能会回来咬你。