Git サブモジュールは、ひとつの Git リポジトリの中に別の Git リポジトリを組み込む機能です。共通のフレームワークやライブラリを複数のプロジェクトで共有しつつ、それぞれのバージョンを独立して管理できます。
このリポジトリは doxyfw・docsfw・testfw・makefw の 4 つのサブモジュールを使用しています。これらはドキュメント生成・テスト・ビルドのフレームワークとして機能し、メインリポジトリから独立したリポジトリとして管理されています。サブモジュールを理解することで、フレームワークの更新と本体の更新を分離して扱えるようになります。
通常の git clone ではサブモジュールの内容は取得されません。サブモジュールを含むリポジトリを正しく扱うには、専用のコマンドが必要です。
このリポジトリの .gitmodules に定義されたサブモジュールは以下の通りです。
| サブモジュール | パス | 役割 |
|---|---|---|
doxyfw |
doxyfw/ |
Doxygen ドキュメント生成フレームワーク |
docsfw |
docsfw/ |
Markdown 発行フレームワーク (Pandoc) |
testfw |
testfw/ |
Google Test テストフレームワーク |
makefw |
makefw/ |
Make ビルドフレームワーク |
基本的な操作コマンド:
git clone --recurse-submodules <URL>
git submodule update --init --recursive
git submodule update --remote
git submodule status