2

我不小心将一些应该被忽略的大文件推送到了 git,结果我的 repo 超过了 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'

我在网上读到强制推送可以解决这个问题,但我觉得这可能有风险,--mirror在使用 bfg 删除文件之前,我确实有我的 repo 的备份。

4

2 回答 2

1

通过删除文件,您创建了新的提交和全新的历史记录,而不是远程 repo 对分支的记录。您必须使用git push -f才能强制推送您的更改。

这里的风险是,如果其他人已经撤消了你的更改,他们也需要做一些工作来清理他们仓库中的大文件。如果你是唯一一个在这个项目上工作的人,那么你不必担心。

于 2018-07-18T15:56:48.840 回答
1

在允许我推送之前,必须先联系 BitBucket 以清除他们的回购。

于 2018-08-21T15:46:29.177 回答