为什么在 bfg 清理后我的远程仓库的大小会增加?

Why does my remote repo increase in size after bfg clean up?

使用 BFG 清理包含大文件的存储库。

我尝试按照 bfg tutorial page 的步骤进行操作。

我遵循的步骤:

git clone --mirror myrepo.git

java -jar bfg-1.13.0.jar --no-blob-protection --delete-folders "{large_folder}" test_repo.git

git reflog expire --expire=now --all && git gc --prune=now --aggressive

git push

git push 对我不起作用我不得不在远程仓库的配置文件中将 denyNonFastforwards = true 更改为 denyNonFastforwards = false

所以我遇到的问题是本地回购大小变小了,但是当我推送到 远程 回购大小增加时。

奇怪的是,当我 clone --mirror 在本地 remote repo 并查看大小时,它实际上很小。

您还需要在远程仓库上 运行 'git gc',这将触发收集现在未使用的 git 对象。

更常见的是,用户有一个 git 托管服务,如 GitHub 作为他们的遥控器,并且托管服务会定期 运行 'git gc' 为用户服务。

当您从远程克隆时,只会发送基本数据 - 因此您只会获得清理过的历史记录,即使远程存储库周围有一堆未使用的 git 数据。