【问题标题】:How to remove old commit from Git/Github graphs?如何从 Git/Github 图表中删除旧提交?
【发布时间】:2016-05-27 23:16:57
【问题描述】:

当我几个月前第一次创建我的存储库时,我是一名业余爱好者,并将我正在使用的库的文件提交到源代码控制中,因为显然我还没有了解 .gitignore。我最终意识到我的错误,将这一行添加到 .gitignore 并从 repo 中删除了库。

现在一切都很好,但是 Github 代码频率图现在已经没用了,因为 Y 轴刻度非常高,因为一次检查到 repo 中的代码量很大。

有什么方法可以从 Git 中删除这些提交而不影响 repo 的当前状态?或者我可以告诉 Github 忽略图表中的那些提交的任何方式?

【问题讨论】:

    标签: git github version-control repository


    【解决方案1】:

    根据提交的混合程度,您可能会快速而巧妙地解决它。如果您使用该提交提交了其他更改,您将需要做更多的工作并编辑提交而不是删除它们。

    git rebase -i fffffaaaaa~1
    

    fffffaaaaa 是您的提交,然后使用“pick fffffaaaaa ...”删除该行 然后像往常一样处理变基。

    在您在本地删除它们并验证您没有破坏任何内容后,您可以强制推送您的新历史记录。

    如果你与其他人共享 repo,请认真考虑是否值得,因为如果你推送你的新历史,他们会变得很奇怪。

    【讨论】:

      【解决方案2】:

      因为您已经将这些提交推送到 Github,所以它们是公共提交,通常不建议修改它们。话虽如此,如果您目前是唯一为此存储库做出贡献的人,那么这是一种选择。我会留给你决定这是否是一个好的选择。

      您可以修改添加这些文件的任何提交(使用git commit --amend,可能使用git rebase -i)。您必须按照此处所述推送:How do I push amended commit to the remote Git repository?

      或者(取决于这个项目的历史),重新开始。运行 git init 并进行良好的初始提交。

      【讨论】:

        猜你喜欢
        • 2018-10-18
        • 2023-02-08
        • 2016-11-19
        • 2011-01-14
        • 2019-11-02
        • 2021-12-22
        • 2021-04-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多