使用 BFG 清除文件后无法推送到 >2gb 的存储库
Can't push to >2gb repo after clearing files with BFG
我不小心将一些本应被忽略的大文件推送到 git,结果我的存储库超过了 2gb。我正在尝试使用 BFG 清除一些文件并且已经能够清除大约 400mb 但是在尝试推送时我收到以下错误
Counting objects: 1510, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (621/621), done.
Writing objects: 100% (1510/1510), 373.84 MiB | 11.69 MiB/s, done.
Total 1510 (delta 879), reused 1403 (delta 778)
remote: Resolving deltas: 100% (879/879), completed with 95 local objects.
remote: repository is in read only mode (over 2 GB size limit).
remote:
remote: Learn how to reduce your repository size: https://confluence.atlassian.com/x/xgMvEw.
To https://bitbucket.org/HIDDEN/REPO.git
! [remote rejected] feature/feature -> feature/wikitude (pre-receive hook declined)
error: failed to push some refs to 'https://bitbucket.org/HIDDEN/REPO.git'
我在网上看到强制推送可以解决这个问题,但我觉得这可能有风险,在使用 bfg 删除文件之前,我确实用 --mirror
备份了我的存储库。
通过删除文件,您创建了新的提交和一个全新的历史记录,而不是远程仓库为分支创建的历史记录。您必须使用 git push -f
才能强制推送您的更改。
这里的风险是,如果其他人已经拉取了您的更改,他们也将需要做一些工作来清理他们存储库中的大文件。如果您是唯一一个从事此项目的人,那么您不必担心。
在允许我推送之前,必须先联系 BitBucket 清除他们端的回购协议。
我不小心将一些本应被忽略的大文件推送到 git,结果我的存储库超过了 2gb。我正在尝试使用 BFG 清除一些文件并且已经能够清除大约 400mb 但是在尝试推送时我收到以下错误
Counting objects: 1510, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (621/621), done.
Writing objects: 100% (1510/1510), 373.84 MiB | 11.69 MiB/s, done.
Total 1510 (delta 879), reused 1403 (delta 778)
remote: Resolving deltas: 100% (879/879), completed with 95 local objects.
remote: repository is in read only mode (over 2 GB size limit).
remote:
remote: Learn how to reduce your repository size: https://confluence.atlassian.com/x/xgMvEw.
To https://bitbucket.org/HIDDEN/REPO.git
! [remote rejected] feature/feature -> feature/wikitude (pre-receive hook declined)
error: failed to push some refs to 'https://bitbucket.org/HIDDEN/REPO.git'
我在网上看到强制推送可以解决这个问题,但我觉得这可能有风险,在使用 bfg 删除文件之前,我确实用 --mirror
备份了我的存储库。
通过删除文件,您创建了新的提交和一个全新的历史记录,而不是远程仓库为分支创建的历史记录。您必须使用 git push -f
才能强制推送您的更改。
这里的风险是,如果其他人已经拉取了您的更改,他们也将需要做一些工作来清理他们存储库中的大文件。如果您是唯一一个从事此项目的人,那么您不必担心。
在允许我推送之前,必须先联系 BitBucket 清除他们端的回购协议。