A mono repo under the hood. See the Atlassian documentation.

Create your outer repo and add something to it just to have history – otherwise you’ll see this unhelpful error:

fatal: ambiguous argument ‘HEAD’: unknown revision or path not in the working tree.

# Make history
touch readme.md && git add . && git commit -am "create empty readme" && git push

# Add subtree
git subtree add --prefix=cpp/ git@gitlab.com:deanturpin/cpp.git master
git push

# When you want to update the dependencies
git subtree pull --prefix=cpp/ git@gitlab.com:deanturpin/cpp.git master

# To push your subtree changes whence they came
git subtree push --prefix=cpp/ git@gitlab.com:deanturpin/cpp.git master