我想将git repo的子目录分离为一个独立的repo。
我在另一个问题上找到了一个简短的指南来过滤除了相关文件夹之外的所有内容(使用git filter-branch --prune-empty --subdirectory-filter dir1 -- --all
),现在我有了一个新的git repo,但是有了原始的所有分支 - 我怎么能摆脱所有的分支呢还没有改变我的子目录?
我想用rev-list
,ls-tree
以某种方式做它,然后过滤分支包含触及我的子目录的提交。
我也不知道我的解决方案是否实际上是好的还是可能有问题,理论上对我来说听起来不错。
任何想法或可能有另一种/更简单的方法?
最简单的可能是获取或推送已过滤的分支,例如
git init ../split
git push ../split newbranch