git submodule がちょっとややこしいのでメモ。 間違いなどあればご指摘いただけると重畳です。 submodule の追加 git submodule は、現在のリポジトリのクローン中に、別のリポジトリの特定のコミットを、サブディレクトリとして参照する。svn でいうところの externals にあたる。 たとえば独立にバージョン管理されているコアライブラリと、それをリンクするアプリケーションのプロジェクトがある場合、プロジェクトに取り込みつつも管理を別々にすることで、使用するライブラリのリリースバージョンを明確にしたり、lib をカスタマイズしてもその後のアップデートに簡単に追従したりできる。 「特定のコミットを参照」といっても、サブモジュールも結局リポジトリのクローンなので、こいつもコミットグラフを持っている。 サブモジュールの追加は、 git submodule add