subtree出现,是为了取代submodule
Using Git subtrees to split a repository 使用git subtree来拆分一个版本库
Splitting a subfolder out into a new repository github help上的
About Git subtree merges github help上的
6.7 Git Tools - Subtree Merging git的官方文档
原来的目录
/apps
/AAA
/BBB
/CCC
/libs
/XXX
/YYY
/ZZZ
希望将下面的目录单独拆出来
/apps
/AAA
/libs
/XXX
git filter-branch --index-filter 'git rm --cached -qr --ignore-unmatch -- . && git reset -q $GIT_COMMIT -- apps/AAA libs/XXX' --prune-empty -- --all
git filter-branch --index-filter 'git rm --cached -qr --ignore-unmatch -- . && git reset -q $GIT_COMMIT -- UKERecognition UKERecognition.Api' --prune-empty -- --all
git filter-branch --index-filter 'git rm --cached -qr --ignore-unmatch -- . && git reset -q $GIT_COMMIT -- LISA.CMSWeb LISA.Chile LISA.CustomExternalMethod\LISA.CustomExternalMethod.Chile' --prune-empty -- --all