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

Shi*_*r G 5 git github repository bfg-repo-cleaner

我正在尝试使用工具来缩小我的.git文件夹大小(目前为 3.1GB)。代码小于 100MB。这个仓库非常古老,有很多分支 ~250 个。

如果我在master分支上使用这个工具,其他分支会发生什么?它提到:

默认情况下,BFG 不会修改 master(或“HEAD”)分支上最新提交的内容,即使它会清除之前的所有提交。

所以我认为它会破坏其他分支中的东西?或者它不会破坏其他分支上的最新提交?我想要实现的是,只要其他分支的最新提交是安全的,我就可以了。

Von*_*onC 3

这正是取代 BFG 和 的git filter-repo新工具所避免的:它确实会一直重写到最新的提交。 查看其用户手册git filter-branch

git filter-repo --strip-blobs-bigger-than 10M --refs master
Run Code Online (Sandbox Code Playgroud)

它会自动删除旧的垃圾并在过滤后为用户重新打包存储库(除非被覆盖);这为用户简化了事情,有助于避免将新旧历史记录混合在一起。

如此处所示(仅应用于master),这不会触及其他分支,但是,是的,新master分支可能不再与其他分支共享任何共同的历史记录。