当我在 master 上使用 BFG Repo-Cleaner 时,其他分支会发生什么
What happens to other branches when I use BFG Repo-Cleaner on master
我正在尝试使用 this 工具缩小我的 .git
文件夹大小,目前为 3.1GB。代码小于 100MB。这个 repo 很旧,有很多分支 ~250。
如果我在master分支上使用这个工具,其他分支会怎么样?它提到:
By default the BFG doesn't modify the contents of your latest commit
on your master (or 'HEAD') branch, even though it will clean all the
commits before it.
所以我假设它会破坏其他分支中的东西?或者它不会破坏其他分支上的最新提交?我想实现的是只要其他分支的最新提交是安全的,我就可以。
这正是新工具 git filter-repo
, which replaces BFG and git filter-branch
所避免的:它确实会一直重写到最新的提交。
见其user manual
git filter-repo --strip-blobs-bigger-than 10M --refs master
它会自动删除旧的垃圾并在过滤后为用户重新打包存储库(除非被覆盖);这为用户简化了事情,有助于避免将新旧历史混合在一起。
如此处所示(仅适用于 master
),不会触及其他分支,但是,新的 master
分支可能不再与其他分支共享任何共同的历史记录。
我正在尝试使用 this 工具缩小我的 .git
文件夹大小,目前为 3.1GB。代码小于 100MB。这个 repo 很旧,有很多分支 ~250。
如果我在master分支上使用这个工具,其他分支会怎么样?它提到:
By default the BFG doesn't modify the contents of your latest commit on your master (or 'HEAD') branch, even though it will clean all the commits before it.
所以我假设它会破坏其他分支中的东西?或者它不会破坏其他分支上的最新提交?我想实现的是只要其他分支的最新提交是安全的,我就可以。
这正是新工具 git filter-repo
, which replaces BFG and git filter-branch
所避免的:它确实会一直重写到最新的提交。
见其user manual
git filter-repo --strip-blobs-bigger-than 10M --refs master
它会自动删除旧的垃圾并在过滤后为用户重新打包存储库(除非被覆盖);这为用户简化了事情,有助于避免将新旧历史混合在一起。
如此处所示(仅适用于 master
),不会触及其他分支,但是,新的 master
分支可能不再与其他分支共享任何共同的历史记录。