April 27th, 2018
Problem
If you have big repo, you want to separate it into several small repos.
There are two approach you might google it, here is different
Subtree
git subtree split -P feature_a -b "branchA"
It will separate your code, but it will include whole git history
. It will slow-down your CI/CD flow if your original repo history is very huge.
Filter-Branch
which rewrites the repo history picking up only those commits that actually affect the content of a specific subdirectory. (refer to refer 2)
git filter-branch --prune-empty --subdirectory-filter SUBDIR -- --all