Git を使っていると、自分で作ったリポジトリの中で、別のリポジトリを入れたい時があるかと思います。 僕の場合は、Vim の設定ファイルやプラグイン管理用にディレクトリを作って、 GitHub で管理しようと思った時に、プラグインに関しては、外部のリポジトリと同期させる必要がありました。 が、例えば、hogeっていうリポジトリがあるとして、その中で、fugaっていうリポジトリを外部から$ git cloneしてきた場合hogeを$git pushしても、fugaの中身はpushされません。 困ったなーって思ってたら見つけたのが submodule という機能! 具体的には、リポジトリ内の外部リポジトリを取り込みたいディレクトリで、 $ git submodule add [外部リポジトリ] [ローカルで格納したいディレクトリ] すれば、サブモジュールが作成できます。 ポイントとしては、サブ