サブモジュールのURL設定を同期するコマンドの説明
「git submodule」コマンドは、「サブモジュール」のURL設定を同期することができます。サブモジュールのURL設定
「サブモジュール」のURL設定とは、「submodule.サブモジュール名.url」設定のことです。「.gitmodules」ファイルに記述されているサブモジュールのURLを、リポジトリーの設定ファイルである「config」ファイルに反映します。
どういう時に使うのか
「サブモジュール」初期化後、別のユーザーが「.gitmodules」ファイルに記述されている既存の「サブモジュール」のURL設定を変更したとします。「Git」は、「サブモジュール」のURLを「config」ファイルから取得するため、このままでは、変更後のURLは使用されません。
そこで、「.gitmodules」ファイルに記述されている「サブモジュール」のURL設定を同期し、「config」ファイルにURL設定を反映します。
これで「Git」は、変更後のURLにアクセスするようになります。
サブモジュールの初期化との違い
「サブモジュール」の初期化も、「.gitmodules」ファイルの「サブモジュール」の設定を「config」ファイルに反映します。しかし「サブモジュール」を再初期化しても、「config」ファイルにすでに記述されている設定は、変更されません。
設定の上書きは行わない、ということです。
URL設定の同期では、 常に「.gitmodules」ファイルに記述されている「サブモジュール」のURL設定を、「config」ファイルに反映します。
設定の上書きを行います。
また「サブモジュール」の初期化では、「サブモジュール」のURL設定以外にもいくつかの設定を「config」ファイルに反映しますが、URL設定の同期では、URLの設定のみを「config」ファイルに反映します。
コマンドのフォーマット
コマンドのフォーマットは以下のようになります。
git submodule <情報出力オプション> sync <オプション> <ワーキングディレクトリーのパス>
このコマンドの基本的な使い方は、「サブモジュールのURL設定を同期する」を参考にしてください。
情報出力オプション
情報の出力に関するオプションです。いずれのオプションも省略できます。
エラーメッセージのみ出力する(-q, --quiet)
このオプションを指定すると、エラーメッセージのみ出力します。サブモジュールに関するオプション
「サブモジュール」に関するオプションです。いずれのオプションも省略できます。
再帰的にサブモジュールを同期する(--recursive)
デフォルトでは、「スーパープロジェクト」直下の「サブモジュール」が同期対象になります。このオプションを指定すると、「サブモジュール」内の「サブモジュール」など、再帰的に「サブモジュール」を同期対象にします。
このオプションの使用例は、「再帰的にサブモジュールを同期対象にする」を参考にしてください。
ワーキングディレクトリーのパス
URL設定を同期する「サブモジュール」の「ワーキングディレクトリー」のパスを指定します。ワーキングディレクトリーのパスを省略した場合
「サブモジュール」の「ワーキングディレクトリー」のパスを省略した場合、すべての「サブモジュール」が同期対象になります。特定のサブモジュールのみ、同期対象にすることもできる
「サブモジュール」の「ワーキングディレクトリー」のパスを指定すれば、特定のサブモジュールのみ、同期対象にできます。「ワーキングディレクトリー」のパスを指定する例は、「URL設定を同期するサブモジュールを指定して、サブモジュールのURL設定を同期する」を参考にしてください。