当我在主分支上使用BFG Repo-Cleaner时,其他分支会发生什么?

5
我正在尝试使用 this 工具来缩小我的 .git 文件夹大小,目前为 3.1GB。代码不到 100MB。这个仓库非常古老,有许多分支 ~250。
如果我在主分支上使用此工具,其他分支会发生什么?它提到:
默认情况下,BFG 不会修改您的主分支(或“HEAD”)上最新提交的内容,尽管它将清理它之前所有的提交。
所以我认为它会破坏其他分支中的内容吗?或者它不会破坏其他分支的最新提交?我的目标是只要其他分支的最新提交是安全的,我就没有问题。
1个回答

3
这正是新工具git filter-repo的目的,它取代了BFG和git filter-branch,避免了对最新提交进行重写。
请参阅用户手册
git filter-repo --strip-blobs-bigger-than 10M --refs master

它会自动删除旧的废弃物并在过滤后重新打包存储库,除非被覆盖;这简化了用户的操作,有助于避免混淆旧和新历史记录。
如此所示(仅应用于master),它不会影响其他分支,但是是的,新的master分支可能不再与其他分支共享任何公共历史记录。

1
谢谢回答!如果我想将“--strip-blobs-bigger-than 10M”应用于所有分支,会保留所有分支的最新提交吗?(希望不会破坏其他分支的最新修复。) - Shinebayar G
1
只需删除refs部分即可:在本地克隆副本上进行操作,这样您可以评估结果并查看其是否令人满意。 - VonC

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