自分の.emacs.dに自作elisp(githubで公開)を配置するときにお世話になっています。
親ディレクトリの中で子ディレクトリを追加する。
git submodule add https://github.com/XXX/XXXXXX.git XXXXXX
↓
.gitmodulesが作成され自動で追加される。
[submodule "XXXXXX"]
path = XXXXXX
url = https://github.com/XXX/XXXXXX.git
↓
親ディレクトリでcommitすれば追加完了。