git clone [email protected]:<user|org>/<src-repo>.git
cd <src-repo>
git remote rm origin
git filter-branch --subdirectory-filter <target-dir> -- -- all
mkdir <new-dir>
git mv <target-files-and-dir> <new-dir>/
git add -A
git commit -m "Isolate target directories and files"
cd ..
git clone [email protected]:<user|org>/<destination-repo>.git
cd <destination-repo>
git remote add <src-repo> ../<src-repo>/
git fetch <src-repo>
git branch <src-repo> remotes/<src-repo>/master
git merge <src-repo> --allow-unrelated-histories
git remote rm <src-repo>
git branch -d <src-repo>
git push origin <master|new-branch>
Cheers!