【发布时间】:2013-11-13 12:59:31
【问题描述】:
我有一个大型存储库,目前在顶级子文件夹中包含多个项目,例如 /a、/b、/c 和 /d。
现在我想将该存储库拆分为两个不同的存储库:一个包含/a 和/b,另一个包含/c 和/d。
我知道git filter-branch --subdirectory-filter,它非常适合提取单个目录,但似乎无法一次提取多个目录。
我也知道git filter-branch --prune-empty --tree-filter,这将允许我删除所有内容,但两个想要的目录。这感觉并不完全正确,因为我必须手动指定所有可能存在的顶级目录。
有没有更好的方法从大型存储库中提取两个目录?
PS:当然,使用git filter-branch 以外的任何好的解决方案都可以。 ;)
【问题讨论】:
-
git filter-repo答案现在应该被接受,因为它比git filter-branch更容易使用和更安全
标签: git git-svn git-rebase git-filter-branch