使用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
在本地远程回购并看到其大小时,它实际上很小。
答案 0 :(得分:3)
您还需要在远程仓库上运行'git gc',这将触发现在未使用的git对象的集合。
更常见的是,用户将GitHub等git托管服务作为其远程服务器,并且托管服务会定期为用户运行'git gc'。
从远程克隆时,仅发送基本数据-即使远程回购中有大量未使用的git数据,也只能获取已清除的历史记录。