这超出了GitHub的文件大小限制

car*_*arl 5 git github

我在我的github存储库中有一些大文件,我试图添加/ commit/push但是push命令给出了以下错误

remote:错误:文件app_dump.sql是106.67 MB; 这超过了GitHub的文件大小限制为100.00 MB

所以我从我的存储库中删除了大文件(app_dump.sql)并再次添加/ commit/push.但我认为这不是正确的事情,因为每当我推动它仍然会尝试推送大文件?

$ git status
On branch master
Your branch is ahead of 'origin/master' by 4 commits.
  (use "git push" to publish your local commits)

nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)

所以现在每次推送都会得到相同的文件大小错误.如何从git中删除文件?我试过了

$ git rm app_dump.sql
fatal: pathspec 'app_dump.sql' did not match any files
Run Code Online (Sandbox Code Playgroud)

但这没有找到任何文件,因为我删除了它...谢谢卡尔

Joh*_*nzo 6

尝试还原您所做的提交:

git reset HEAD~1
Run Code Online (Sandbox Code Playgroud)

这应该撤消1个本地提交。取消本地提交,直到包含大文件为止。删除大文件。提交更改,然后推送。


Har*_*ren 4

请参阅这篇文章:https ://help.github.com/articles/remove-sensitive-data/ 。基本上你想重写你的存储库历史记录。但请务必小心命令git filter-branch!

git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch app_dump.sql' \
--prune-empty --tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)

如果我是你,我会首先对存储库进行本地备份。只需将整个文件夹复制到其他位置,以便您可以在您的存储库上进行试验。

当您对结果感到满意时,请将它们提交到 Github,并记住这会重写历史记录,因此此处删除的任何文件也将从 Github 的历史记录中消失。