为什么在 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 数据。
使用 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 数据。