将一个git subdir与另一个repo完全分离



我想将git repo的一个子目录分离为一个独立的repo。

我在SO中的另一个问题上发现了一个简短的指南,用于过滤除相关文件夹外的所有内容(使用git filter-branch --prune-empty --subdirectory-filter dir1 -- --all),现在我有了一个新的git repo,但包含了原始分支中的所有分支-我如何才能清除所有未更改子目录的分支?

我想以某种方式用rev-listls-tree来做这件事,然后过滤包含触及我的子目录的提交的分支。

我也不知道我的解决方案实际上是好的还是可能有问题,理论上对我来说很好

有什么想法吗?或者还有其他更简单的方法吗?

最简单的方法可能是只获取或推送过滤后的分支,例如

git init ../split
git push ../split newbranch

最新更新