Git サブモジュールの追加
別のリポジトリのコードを再利用するには、プロジェクトに含める Git™ サブモジュールを指定できます。
外部の Git リポジトリをサブモジュールとしてクローンするには、次の手順に従います。
[プロジェクト] タブの [ソース管理] セクションで、[サブモジュール] をクリックします。
[サブモジュール] ダイアログ ボックスで、[追加] をクリックします。
[サブモジュールの追加] ダイアログ ボックスの [リモート] ボックスで、リポジトリの場所を指定します。オプションで、[検証] をクリックします。
[パス] ボックスで、プロジェクトにおけるサブモジュールの場所を指定し、[OK] をクリックします。[サブモジュール] ダイアログ ボックスに、サブモジュールのステータスと詳細が表示されます。
ステータス メッセージを確認し、[閉じる] をクリックしてプロジェクトに戻ります。
ヒント
Git サブモジュールを使用して参照プロジェクトを設定できます。詳細については、Organize Projects into Components Using References and Git Submodulesを参照してください。また、How to Organize Large Projects into Components (3 分 32 秒) もご覧ください。
サブモジュールの更新
最上位のプロジェクトで [プル] を使用した後、[サブモジュール] をクリックし、[更新] をクリックして、サブモジュールが最新であることを確認します。サブモジュールの定義に変更がある場合、更新により、サブモジュールのフォルダーに正しいファイルが含まれていることを確認します。更新はサブモジュール階層内のすべての子サブモジュールに適用されます。
サブモジュールでのフェッチとマージの使用
サブモジュールを管理する場合は、[サブモジュール] ダイアログ ボックスを開きます。
サブモジュールの最新バージョンを入手するには、[サブモジュール] ダイアログ ボックスで [フェッチ] をクリックします。
フェッチ後はマージしなければなりません。[サブモジュール] ダイアログ ボックスの [ステータス] メッセージで、リポジトリ内のリモート トラッキング ブランチに対する現在のブランチに関する情報を確認します。メッセージ
[~の後]
が表示されている場合は、リポジトリからの変更内容をローカル ブランチにマージしなければなりません。[ブランチ] をクリックし、[ブランチ] ダイアログ ボックスを使用して元の変更をローカルのブランチにマージします。プル、フェッチおよびマージを参照してください。
[プッシュ] を使用したサブモジュール リポジトリへの変更の送信
サブモジュールで変更を行い、変更をリポジトリに送信する場合は、次の手順に従います。
親プロジェクトでローカル コミットを実行します。
[サブモジュール] ダイアログ ボックスを開いて [プッシュ] をクリックします。
他のプロジェクト ユーザーが親プロジェクトをクローンするときにサブモジュールの変更を取得できるようにする場合は、インデックスとヘッドを一致させます。
[サブモジュール] ダイアログ ボックスで、インデックスとヘッドの値を確認します。インデックスは、サブモジュールをはじめてクローンした時点、または親プロジェクト リポジトリを最後にコミットした時点のヘッド コミットを指します。インデックスとヘッドが一致しない場合は、インデックスを更新しなければなりません。
インデックスを更新するには、親プロジェクトで変更をコミットしてから、[サブモジュール] ダイアログ ボックスで [プッシュ] をクリックします。この操作により、インデックスとヘッドが同じになります。