【问题标题】:How to delete something that was accidentally pushed如何删除不小心推送的内容
【发布时间】:2012-03-03 20:32:27
【问题描述】:

我想在我的网站上进行源代码控制。有很多文件,所以我就去了 git add -a

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

有没有办法摆脱这个?

【问题讨论】:

    标签: git github git-push git-commit


    【解决方案1】:

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

    不管怎样,删除文件并不能消除损害 - 在此期间提取您的 repo 的任何人都拥有它,并且至少它在 github 的基础架构中。所以,不要打扰。

    与其试图隐藏所发生的事情,不如进行损害控制并更改您的密码。不要试图隐瞒已经泄露的秘密——引用本杰明·富兰克林的话,“三个人保守秘密的唯一方法就是两个人死了”。

    如果它在 Internet 上仅存在片刻,则可以肯定地认为它已被十几个人保存。如果你不从这个角度工作,它可能会反过来咬你。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-03
        • 1970-01-01
        • 2017-02-11
        • 2020-01-06
        • 2015-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多