【问题标题】:What happens to other branches when I use BFG Repo-Cleaner on master当我在 master 上使用 BFG Repo-Cleaner 时其他分支会发生什么
【发布时间】:2020-01-03 06:27:30
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: git github repository bfg-repo-cleaner


    【解决方案1】:

    这正是replaces BFG and git filter-branch 的新工具git filter-repo 避免的:它会一直重写到最新的提交。
    见其user manual

    git filter-repo --strip-blobs-bigger-than 10M --refs master
    

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

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

    【讨论】:

    • 感谢您的回答!如果我想将--strip-blobs-bigger-than 10M 应用于所有分支怎么办。它会保留所有分支的最新提交吗? (希望我不会破坏其他分支的最新修复。)
    • 只需删除 refs 部分:在本地克隆副本上执行此操作,这样您就可以评估结果并查看它是否令人满意。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 2023-03-12
    • 1970-01-01
    • 2015-06-28
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    相关资源
    最近更新 更多