我在当前文件夹中初始化了一个新的存储库并提交给它。我在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,而不是超大的。出了什么问题?
答案 0 :(得分:1)
您仍然可以在repo中引用大文件。您有添加文件的提交,因此git会将其保留在结帐的历史记录中。您需要删除对此文件的引用。
您可以执行git rebase -i <SHA before large file>
并更改添加文件的提交,并将其替换为新文件。由于提交只是局部改变历史并不是坏事。
答案 1 :(得分:0)
您需要将其从git历史记录中的所有提交中删除,而不是仅在没有它的情况下创建提交,而是将其保留在先前的提交中。你可以使用bfg:https://stackoverflow.com/a/17890278/2536029