清理git仓库BFG Repo-Cleaner --- 推送后,仓库大小仍然很大

6
我正在尝试使用BFG repo cleaner清理我的git仓库。所以我这样做: git clone --mirror https://github.com/FourierFlows/FourierFlows.jl.git 使用BFG,例如, java -jar bfg-1.13.0.jar --delete-files 'twodturb*.png' FourierFlows.jl.git 然后执行以下操作: cd FourierFlows.jl.git git reflog expire --expire=now --all && git gc --prune=now --aggressive 现在仓库的大小要小得多(1.9MB,而不是880MB)。但是当我推回并稍后尝试再次git clone --mirror时,我仍然得到了与我开始时相同大小的仓库。
navid:FourierFlows.jl.git/ (master) $ git push
Counting objects: 4824, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (1639/1639), done.
Writing objects: 100% (4824/4824), 1.67 MiB | 1.07 MiB/s, done.
Total 4824 (delta 3061), reused 4824 (delta 3061)
remote: Resolving deltas: 100% (3061/3061), done.
To https://github.com/FourierFlows/FourierFlows.jl
 + f669d29...5146e5f ArchivedPhysics -> ArchivedPhysics (forced update)
 + 53da66f...6543491 BetteringTwoModes -> BetteringTwoModes (forced update)
 + 986cde0...a6562c4 BetteringTwoModesSystematically -> BetteringTwoModesSystematically (forced update)
 + 9b7e4e3...8db4ced BetteringTwoModes_StashedChanges -> BetteringTwoModes_StashedChanges (forced update)
 + 4adf9a4...bd7b62c GPUDomains -> GPUDomains (forced update)
 + 40e1318...bd7b4bf GPUTwoModes -> GPUTwoModes (forced update)
 + e2d551c...666d0f9 GPUTwoModes_APVTracerAdv -> GPUTwoModes_APVTracerAdv (forced update)
 + 23f1689...343ab15 TimestepperFormattingImprovements -> TimestepperFormattingImprovements (forced update)
 + 08bcc90...6a59cf1 TracerPatchEqn -> TracerPatchEqn (forced update)
 + 019c115...8b2b6c1 TwoModes -> TwoModes (forced update)
 + 740c9a1...c8c47dd UpdatesDocs -> UpdatesDocs (forced update)
 + 7456358...96c1686 VerticalModes -> VerticalModes (forced update)
 + 0b36327...a111d4e getETDcoeffsBigFLoat -> getETDcoeffsBigFLoat (forced update)
 + f90541a...de0c079 gh-pages -> gh-pages (forced update)
 + 8e1f439...f3e9ac0 makeJulia0p7compatible -> makeJulia0p7compatible (forced update)
 + 3211e48...8828ef5 master -> master (forced update)
 + 6ef5dfc...47c773c v0.0.1 -> v0.0.1 (forced update)
 + d6e2cf8...4e43e7f v0.0.2 -> v0.0.2 (forced update)
 + 3be73f7...dfc1060 v0.1.0 -> v0.1.0 (forced update)
 ! [remote rejected] refs/pull/10/head -> refs/pull/10/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/11/head -> refs/pull/11/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/12/head -> refs/pull/12/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/13/head -> refs/pull/13/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/14/head -> refs/pull/14/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/15/head -> refs/pull/15/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/17/head -> refs/pull/17/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/17/merge -> refs/pull/17/merge (deny updating a hidden ref)
 ! [remote rejected] refs/pull/19/head -> refs/pull/19/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/22/head -> refs/pull/22/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/23/head -> refs/pull/23/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/23/merge -> refs/pull/23/merge (deny updating a hidden ref)
 ! [remote rejected] refs/pull/24/head -> refs/pull/24/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/27/head -> refs/pull/27/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/3/head -> refs/pull/3/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/30/head -> refs/pull/30/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/32/head -> refs/pull/32/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/33/head -> refs/pull/33/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/34/head -> refs/pull/34/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/35/head -> refs/pull/35/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/36/head -> refs/pull/36/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/40/head -> refs/pull/40/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/41/head -> refs/pull/41/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/42/head -> refs/pull/42/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/43/head -> refs/pull/43/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/45/head -> refs/pull/45/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/46/head -> refs/pull/46/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/47/head -> refs/pull/47/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/48/head -> refs/pull/48/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/48/merge -> refs/pull/48/merge (deny updating a hidden ref)
 ! [remote rejected] refs/pull/49/head -> refs/pull/49/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/5/head -> refs/pull/5/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/50/head -> refs/pull/50/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/52/head -> refs/pull/52/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/53/head -> refs/pull/53/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/54/head -> refs/pull/54/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/56/head -> refs/pull/56/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/57/head -> refs/pull/57/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/58/head -> refs/pull/58/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/6/head -> refs/pull/6/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/8/head -> refs/pull/8/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/9/head -> refs/pull/9/head (deny updating a hidden ref)
error: failed to push some refs to 'https://github.com/FourierFlows/FourierFlows.jl'

然而,如果我将仓库推送到一个空的git仓库,然后从那里克隆它,它确实很小。
navid:FourierFlows.jl.git/ (master) $ git remote set-url --push origin https://github.com/navidcy/FourierFlowsMirrored
navid:FourierFlows.jl.git/ (master) $ git push
Counting objects: 4824, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (1639/1639), done.
Writing objects: 100% (4824/4824), 1.67 MiB | 1.16 MiB/s, done.
Total 4824 (delta 3061), reused 4824 (delta 3061)
remote: Resolving deltas: 100% (3061/3061), done.
To https://github.com/navidcy/FourierFlowsMirrored
 * [new branch]      ArchivedPhysics -> ArchivedPhysics
 * [new branch]      BetteringTwoModes -> BetteringTwoModes
 * [new branch]      BetteringTwoModesSystematically -> BetteringTwoModesSystematically
 * [new branch]      BetteringTwoModes_StashedChanges -> BetteringTwoModes_StashedChanges
 * [new branch]      GPUDomains -> GPUDomains
 * [new branch]      GPUTwoModes -> GPUTwoModes
 * [new branch]      GPUTwoModes_APVTracerAdv -> GPUTwoModes_APVTracerAdv
 * [new branch]      TimestepperFormattingImprovements -> TimestepperFormattingImprovements
 * [new branch]      TracerPatchEqn -> TracerPatchEqn
 * [new branch]      TwoModes -> TwoModes
 * [new branch]      UpdatesDocs -> UpdatesDocs
 * [new branch]      VerticalModes -> VerticalModes
 * [new branch]      getETDcoeffsBigFLoat -> getETDcoeffsBigFLoat
 * [new branch]      gh-pages -> gh-pages
 * [new branch]      makeJulia0p7compatible -> makeJulia0p7compatible
 * [new branch]      master -> master
 * [new tag]         v0.0.1 -> v0.0.1
 * [new tag]         v0.0.2 -> v0.0.2
 * [new tag]         v0.1.0 -> v0.1.0
 ! [remote rejected] refs/pull/10/head -> refs/pull/10/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/11/head -> refs/pull/11/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/12/head -> refs/pull/12/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/13/head -> refs/pull/13/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/14/head -> refs/pull/14/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/15/head -> refs/pull/15/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/17/head -> refs/pull/17/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/17/merge -> refs/pull/17/merge (deny updating a hidden ref)
 ! [remote rejected] refs/pull/19/head -> refs/pull/19/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/22/head -> refs/pull/22/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/23/head -> refs/pull/23/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/23/merge -> refs/pull/23/merge (deny updating a hidden ref)
 ! [remote rejected] refs/pull/24/head -> refs/pull/24/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/27/head -> refs/pull/27/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/3/head -> refs/pull/3/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/30/head -> refs/pull/30/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/32/head -> refs/pull/32/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/33/head -> refs/pull/33/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/34/head -> refs/pull/34/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/35/head -> refs/pull/35/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/36/head -> refs/pull/36/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/40/head -> refs/pull/40/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/41/head -> refs/pull/41/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/42/head -> refs/pull/42/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/43/head -> refs/pull/43/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/45/head -> refs/pull/45/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/46/head -> refs/pull/46/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/47/head -> refs/pull/47/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/48/head -> refs/pull/48/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/48/merge -> refs/pull/48/merge (deny updating a hidden ref)
 ! [remote rejected] refs/pull/49/head -> refs/pull/49/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/5/head -> refs/pull/5/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/50/head -> refs/pull/50/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/52/head -> refs/pull/52/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/53/head -> refs/pull/53/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/54/head -> refs/pull/54/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/56/head -> refs/pull/56/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/57/head -> refs/pull/57/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/58/head -> refs/pull/58/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/6/head -> refs/pull/6/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/8/head -> refs/pull/8/head (deny updating a hidden ref)
 ! [remote rejected] refs/pull/9/head -> refs/pull/9/head (deny updating a hidden ref)
error: failed to push some refs to 'https://github.com/navidcy/FourierFlowsMirrored'

有什么想法吗? 显然我没有告诉Git放弃那些已经存在于代码库中的文件...

1个回答

3

这是清理GitHub存储库的常见问题。问题的关键在于:

![remote rejected] refs/pull/10/head -> refs/pull/10/head (deny updating a hidden ref)

因此,已清理的拉取请求中的所有历史记录都不会在GitHub远程中清除。

GitHub文档中简要讨论了如何删除敏感数据(我强调):

本文告诉您如何使包含敏感数据的提交对GitHub存储库中的任何分支或标签不可达。但是,请注意,那些提交仍然可以通过克隆或派生存储库,在GitHub上缓存视图中直接访问其SHA-1哈希值以及引用它们的任何拉取请求。您无法对现有的存储库克隆或派生做任何事情,但是您可以通过联系GitHub支持来永久删除GitHub上存储库的所有缓存视图和拉取请求。

如果您希望清除您的拉取请求以及它们引用的所有提交/历史记录,以便GitHub上的总存储库大小可以缩小(除了已经缩小的默认克隆大小),则需要联系GitHub支持。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接