我有一个包含子文件夹A的大型仓库,我想将其提取到自己的仓库中。我想保留master分支和所有(或至少几个)发布分支的提交历史记录。我尝试使用git filter-branch --prune-empty --subdirectory-filter A
,但这似乎只影响主分支(我可以检查其他分支,但它们仍然有完整的原始文件集)。最好的方法是什么?
编辑:我尝试了git filter-branch --prune-empty --subdirectory-filter A/ -- --all
。这会运行一段时间,然后无限期挂起。
然后我尝试运行git filter-branch --prune-empty --subdirectory-filter A/ -- --branches=*
。这成功运行。但是,当我使用git checkout签出一个不同的分支时,该分支似乎没有被过滤。