gpt4 book ai didi

git - BFG Repo Cleaner 的正确使用方法

转载 作者:行者123 更新时间:2023-12-05 02:16:34 25 4
gpt4 key购买 nike

BFG Repo Cleaner站点给出了使用该工具清理存储库的示例如下:

  1. 克隆您的存储库的新副本。

    $ git clone --mirror git://example.com/some-big-repo.git
  2. 运行 BFG 以清理您的代码库。

    $ java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git
  3. 使用 git gc 去除不需要的脏数据

    $ cd some-big-repo.git
    $ git reflog expire --expire=now --all && git gc --prune=now --aggressive
  4. 将更改推送回远程

    $git push

我知道 head 分支是 protected ,因此 head 分支中任何大于 100M 的文件仍然存在。如果我按照描述运行这个工具,我会丢失任何关于 100M 文件的历史记录,对吗?因此,如果旧提交中有该文件的旧版本,它就消失了,我将无法在它以前的状态下使用它……对吗?

此外,我有一位同事说了以下内容,我想知道这是不是真的:

如果您推回到在 TFS 中镜像的存储库,对您的包文件的更改将不会反射(reflect)在远程和 future 的克隆上

您必须在 TFS 中创建一个新的存储库并将镜像推送到那里,以便远程选择包文件更改。

最佳答案

任何仍然存在于 repo 头部的文件都将被保留,包括历史记录。这是为了保护你不犯错误。这个想法是您应该明确删除文件,提交删除,然后清理历史记录以将其删除。

TFS 不会gc 其存储库;你的同事是对的。参见 Team Foundation Server 2015 (tfs2015) run git gc --prune=now on orgin/remote进行确认。

关于git - BFG Repo Cleaner 的正确使用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49580624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com