关于github:Git从所有提交中删除文件

Git remove file from all commits

我犯了一个"小"错误,在本地回购协议中添加了一个"小"(>100MB)文件。

两次提交之后,我将尝试推送到GitHub中限制为100MB的远程回购。

我可以从当前使用git rm --cached的提交中删除该文件,但它仍然在以前的提交中。

如何从所有提交中删除该文件?我试过这个关于git过滤器分支的答案,但不适用于我的。


您可以通过交互式REBASE更改最后3次提交。

1
git rebase -i HEAD~3

并将提交更改为"编辑"。

请参阅https://help.github.com/articles/about-git-rebase/


我将软重置最近3次提交。然后删除"小"文件。然后将所有更改都提交到1个新提交中。

我认为这并不理想,但可以解决这个问题,因为您还没有做出太多额外的承诺。