Git Submoduleをざっくり理解するメモ

に公開

Submoduleとは

Gitリポジトリの中に、別のGitリポジトリを組み込む仕組みです。
複数のプロジェクトで同じコードやライブラリを使いたいときに利用します。

メリット

  • 依存関係の管理がしやすい
  • コードの再利用性
  • プロジェクトを分割して管理できる

デメリット

  • サブモジュールを個別に更新する必要がある
  • コミットの管理が手間

Submoduleの使い方


# 追加
git submodule add <リポジトリURL> <パス>

# 初期化
git submodule init

# 更新
git submodule update --remote

# クローン時にまとめて取得
git clone --recurse-submodules <リポジトリURL>

まとめ

サブモジュールは、リポジトリ内で別リポジトリを扱うための機能です。

運用コストはかかりますが、大きめのプロジェクトや共通ライブラリ共有には有効な選択肢になります。
一方で、更新やコミット管理の手間も増えるので、運用ルールを決めてまで使いたいケースかどうかを考えたうえで使うのが良さそうです。

Discussion