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
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.
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