1

我有两个存储库,即。存储库 A 和存储库 B。我正在从存储库 A 移动一个目录,即。dir-to-move 到存储库 B。但我只想保留 git-filter-branch 花费大量时间的那个目录的 git 历史记录(即 dir-to-move )。所以我想使用更快的 BFG Repo 清洁器。但我也想减小 .git 文件夹的大小。所以问题是双重的

  1. 如何使用 BFG Repo 清洁器执行以下命令?

git filter-branch --subdirectory-filter {dir-to-move} -- --all

  1. 运行 BFG Repo 清洁器后如何减小 .git 大小?(现在以 GB 到 MB 为单位)
4

1 回答 1

0

如何使用 BFG Repo 清洁器执行以下命令?

git filter-branch --subdirectory-filter {dir-to-move} -- --all

收到的 BFG 问题的答案git filter-branch --subdirectory-filter 的等价物解决了您的问题:

BFG 中没有这样的功能 - 如果需要,您必须自己添加一个。

主要障碍是 - BFG 当前的工作方式,它不关心 repo 中 blob 的特定路径。它只是访问所有提交,然后递归处理每个提交的树和子树。这样做时,它不会跟踪它正在处理的当前子树的“目录”位置,因此不支持任何与完整路径一起使用的功能。

于 2018-11-28T09:24:02.077 回答