即使删除了超大文件,也无法将提交推送到Github

时间:2014-03-10 21:34:50

标签: git github

我在当前文件夹中初始化了一个新的存储库并提交给它。我在Github上创建了一个遥控器并试图推动它。

 git push -u origin master

推送失败,因为我有一个大的110 MB文件sequence.fasta超过了Github的文件大小限制。我压缩了文件并删除了之前的ref:_

 bz2 sequence.fasta     
 git rm sequence.fasta
 git addd sequence.fasta.bz2

并承诺

 git commit -m "Compressed large file sequence.fasta"

然后我再次尝试推送

 git push -u origin master

它给文件“sequence.fasta”带来了同样的错误。我做了git ls-tree -r master ,它只显示了sequence.fasta.bz2,而不是超大的。出了什么问题?

2 个答案:

答案 0 :(得分:1)

您仍然可以在repo中引用大文件。您有添加文件的提交,因此git会将其保留在结帐的历史记录中。您需要删除对此文件的引用。

您可以执行git rebase -i <SHA before large file>并更改添加文件的提交,并将其替换为新文件。由于提交只是局部改变历史并不是坏事。

答案 1 :(得分:0)

您需要将其从git历史记录中的所有提交中删除,而不是仅在没有它的情况下创建提交,而是将其保留在先前的提交中。你可以使用bfg:https://stackoverflow.com/a/17890278/2536029