git - 清理 git 存储库 BFG Repo-Cleaner --- 我推送后 repo 大小仍然很大

标签 git github bfg-repo-cleaner

我正在尝试使用 BFG 存储库清理器清理我的 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 放弃存储库中已经存在的文件......

最佳答案

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

! [远程拒绝] refs/pull/10/head -> refs/pull/10/head(拒绝更新 stash 的 ref)

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

这在关于 how to remove sensitive data 的 GitHub 文档中有简要讨论。 (强调我的):

This article tells you how to make commits with sensitive data unreachable from any branches or tags in your GitHub repository. However, it's important to note that those commits may still be accessible in any clones or forks of your repository, directly via their SHA-1 hashes in cached views on GitHub, and through any pull requests that reference them. You can't do anything about existing clones or forks of your repository, but you can permanently remove all of your repository's cached views and pull requests on GitHub by contacting GitHub Support.

因此,如果您希望您的 Pull Requests 以及它们引用的所有提交/历史记录都被删除,那么您在 GitHub 上的总存储库大小可以缩小(除了已经缩小的默认克隆的大小之外),您需要联系GitHub 支持。

关于git - 清理 git 存储库 BFG Repo-Cleaner --- 我推送后 repo 大小仍然很大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50343697/

相关文章:

git - SSHD 要求输入我的 key 的密码,但没有密码

git - Docker镜像git clone错误 “fatal: Not a git repository”

api - 如何通过命令行在GitHub上发布版本?

git - 如何替换 git 历史文件中的文本?

git - 避免为每个子模块重新输入密码

gitignore 跨所有分支?

github - 无法构建到 Github Pages

git - rebase 后手动 merge 的 pull 请求不会在 Github 上显示为已 merge

git-rewrite-history - 使用 BFG 存储库清洁器后,BitBucket 存储库变大

git - 将本地 repo 的所有分支重置为与远程相同