如何从Git/Github图表中删除旧的提交?

5
当我创建我的存储库时,已经是几个月前的事了,那时我还是一名业余爱好者,因为显然我还没有学会使用.gitignore,所以将我正在使用的库文件提交到源代码控制中。后来我意识到了我的错误,添加了.gitignore文件并从repo中删除了这些库文件。

现在一切都好了,但Github的代码频率图现在变得无用了,因为由于一次检入的代码量,Y轴的比例尺太高了。Code Frequency Graph

有没有办法可以从Git中删除这些提交,而不会影响存储库的当前状态?或者有没有办法告诉Github在图表中忽略这些提交?

2个回答

2
因为你已经将这些提交推送到Github,它们是公共提交,通常不建议对其进行修改。话虽如此,如果你是目前唯一贡献者,这是一个选项。我会让你决定是否是一个好的选择。
你可以修改添加这些文件的任何提交(使用git commit --amend,可能需要使用git rebase -i)。你需要按照这里描述的方式推送它:如何将修改后的提交推送到远程Git仓库?
或者(取决于这个项目的年龄),重新开始。运行git init并进行一个好的初始提交。

0

根据提交的混乱程度,你可能会快速而整洁地解决它。如果你在那个提交中提交了其他更改,你需要做一些额外的工作并编辑提交,而不是删除它们。

git rebase -i fffffaaaaa~1

fffffaaaaa 代表你的提交,删除含有 "pick fffffaaaaa ..." 的行,然后像平常一样处理 rebase。

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

如果你与其他人共享仓库,请认真考虑是否值得这么做,因为如果你推送了新的历史记录,他们会遇到问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接