Main Content

Git サブモジュールの追加

別のリポジトリのコードを再利用するには、プロジェクトに含める Git™ サブモジュールを指定できます。

外部の Git リポジトリをサブモジュールとしてクローンするには、次の手順に従います。

  1. [プロジェクト] タブの [ソース管理] セクションで、[サブモジュール] をクリックします。

  2. [サブモジュール] ダイアログ ボックスで、[追加] をクリックします。

  3. [サブモジュールの追加] ダイアログ ボックスの [リモート] ボックスで、リポジトリの場所を指定します。オプションで、[検証] をクリックします。

  4. [パス] ボックスで、プロジェクトにおけるサブモジュールの場所を指定し、[OK] をクリックします。[サブモジュール] ダイアログ ボックスに、サブモジュールのステータスと詳細が表示されます。

  5. ステータス メッセージを確認し、[閉じる] をクリックしてプロジェクトに戻ります。

ヒント

Git サブモジュールを使用して参照プロジェクトを設定できます。詳細については、Organize Projects into Components Using References and Git Submodulesを参照してください。また、How to Organize Large Projects into Components (3 分 32 秒) もご覧ください。

サブモジュールの更新

最上位のプロジェクトで [プル] を使用した後、[サブモジュール] をクリックし、[更新] をクリックして、サブモジュールが最新であることを確認します。サブモジュールの定義に変更がある場合、更新により、サブモジュールのフォルダーに正しいファイルが含まれていることを確認します。更新はサブモジュール階層内のすべての子サブモジュールに適用されます。

サブモジュールでのフェッチとマージの使用

サブモジュールを管理する場合は、[サブモジュール] ダイアログ ボックスを開きます。

  1. サブモジュールの最新バージョンを入手するには、[サブモジュール] ダイアログ ボックスで [フェッチ] をクリックします。

  2. フェッチ後はマージしなければなりません。[サブモジュール] ダイアログ ボックスの [ステータス] メッセージで、リポジトリ内のリモート トラッキング ブランチに対する現在のブランチに関する情報を確認します。メッセージ [~の後] が表示されている場合は、リポジトリからの変更内容をローカル ブランチにマージしなければなりません。

  3. [ブランチ] をクリックし、[ブランチ] ダイアログ ボックスを使用して元の変更をローカルのブランチにマージします。プル、フェッチおよびマージを参照してください。

[プッシュ] を使用したサブモジュール リポジトリへの変更の送信

サブモジュールで変更を行い、変更をリポジトリに送信する場合は、次の手順に従います。

  1. 親プロジェクトでローカル コミットを実行します。

  2. [サブモジュール] ダイアログ ボックスを開いて [プッシュ] をクリックします。

他のプロジェクト ユーザーが親プロジェクトをクローンするときにサブモジュールの変更を取得できるようにする場合は、インデックスとヘッドを一致させます。

  1. [サブモジュール] ダイアログ ボックスで、インデックスとヘッドの値を確認します。インデックスは、サブモジュールをはじめてクローンした時点、または親プロジェクト リポジトリを最後にコミットした時点のヘッド コミットを指します。インデックスとヘッドが一致しない場合は、インデックスを更新しなければなりません。

  2. インデックスを更新するには、親プロジェクトで変更をコミットしてから、[サブモジュール] ダイアログ ボックスで [プッシュ] をクリックします。この操作により、インデックスとヘッドが同じになります。

参考

関数

関連するトピック