複数のリポジトリを操作する

Developer Community で最も要求が多かった機能の 1 つとして、マルチリポジトリのサポートが、Visual Studio 2022 のバージョン 17.4 から追加されました。

現在、Visual Studio で一度に最大 25 個のアクティブな Git リポジトリを持つことができます。 マルチリポジトリのサポートとは、複数のリポジトリにまたがるソリューションを操作し、複数のリポジトリに対して Git 操作を同時に適用できることを意味します。 たとえば、大規模な Web プロジェクトで、さまざまなライブラリや依存関係と共に、フロントエンド、API、データベース、ドキュメントで実行される作業を管理するために、異なるリポジトリが必要になる場合があります。 マルチリポジトリのサポート前は、リポジトリ間で操作するために Visual Studio の複数のインスタンスを開く必要がありました。 バージョン 17.4 以降は、Visual Studio の 1 つのインスタンスですべてを管理、表示、デバッグできます。

Note

マルチリポジトリのサポートの動作を確認するには、YouTube で「Visual Studio で複数の Git リポジトリを使用する」動画をご覧ください。

ブランチ管理と変更の追跡

マルチリポジトリのサポートにより、Git 変更 ウィンドウと Git リポジトリ ウィンドウの機能が拡張されます。 マルチリポジトリのシナリオは、単一のリポジトリを操作する場合と同じ方法で管理できます。

Visual Studio の [新しいブランチ] ボタンのスクリーンショット。

拡張されたブランチ作成ダイアログを使用して、複数のリポジトリにまたがるブランチを一度に作成できます。

Visual Studio の [新しいブランチを作成する] ダイアログ ボックスのスクリーンショット。

その後、変更を行うと、[Git 変更] ウィンドウで、作業がリポジトリごとに分けて追跡されます。 通常と同じようにステージングとコミットを行うことができます。

作業の変更を追跡する [Git 変更] ウィンドウのスクリーンショット。

ステータス バーと [Git 変更] ツール ウィンドウのブランチ ピッカーを使用して、ブランチを切り替えることができます。 チェックアウトするブランチを選択するだけです。また、ブランチを右クリックしてコンテキスト メニューを開くと、ブランチのマージ、リベース、名前変更、削除、比較などの内部ループ分岐操作を実行できます。

[Git 変更] ツール ウィンドウのブランチ ピッカー機能のスクリーンショット。

そして、[Git リポジトリ] ウィンドウで、より高度なリポジトリとブランチ管理操作を実行できます。

[Git リポジトリ] ツール ウィンドウのブランチ ピッカー機能のスクリーンショット。

ネットワーク操作

コミットの準備ができたら、ネットワーク操作ダイアログでプッシュ先の正確なブランチを簡単に指定し、プッシュを並べ替えることができます。 この同じダイアログで、フェッチやプルなど、他のネットワーク操作をより詳細に制御できます。

ネットワーク操作ダイアログのプッシュ アクションを示すスクリーンショット。

リポジトリ設定

[Git リポジトリ設定] ページを使用して、各リポジトリのオプションを指定できます。 たとえば、フェッチ中にリモート ブランチを取り除くかどうかを指定できます。

Visual Studio の [Git リポジトリ設定] オプションのスクリーンショット。

ソリューションまたはフォルダーから複数のリポジトリをアクティブ化する

ソリューションまたはフォルダーから複数のリポジトリをアクティブ化できます。

ソリューションを使用する

複数リポジトリを使用するソリューションを作成する方法を次に示します。

  1. 既にリポジトリが初期化されている既存のソリューションの 1 つを開きます。

  2. [ソリューション エクスプローラー] でソリューションを右クリックして、[追加]>[既存のプロジェクト] を選択します。

  3. リポジトリが初期化されている別のプロジェクトの .csproj ファイルを選択します。

    プロジェクトが追加されると、Visual Studio によって 2 つ目のリポジトリが検出されてアクティブ化されます。 次に、必要に応じてプロジェクト参照を調整できます。

既にローカル リポジトリまたはリモート リポジトリを持つ他のプロジェクトを含む既存のソリューションで新しいプロジェクトを作成する場合は、ソリューションの追加リポジトリとして表示される前に、Git git init を使用して新しいプロジェクトを初期化する必要があります。

フォルダーを使用する

使用するリポジトリが互いに独立しており、同じソリューションの一部である必要がない場合は、フォルダーを使用して開くことができます。

これを行うには、ローカル リポジトリ ディレクトリを同じ親フォルダー内に配置し、Visual Studio 起動ページの [ローカル フォルダーを開く] オプションを使用して親フォルダーを開きます。 Visual Studio によって、各リポジトリが検出されてアクティブ化され、リポジトリごとに変更が追跡されます (次のスクリーンショットを参照)。

Visual Studio のフォルダーから複数のリポジトリをアクティブにする方法を示すスクリーンショット。

Visual Studio 2022 内の Git 機能のさらなる開発について詳しく知りたい、またはマルチリポジトリ機能に関するフィードバックを提供したいとお考えでしょうか。 「マルチリポジトリ サポートのリリース」ブログ記事の「フィードバックを基にしたビルド」、「次の予定」、「ご意見をお寄せください」のセクションをご覧ください。

次に、リポジトリ管理の作業を続けるには、「Visual Studio でのマージの競合を解決する」を参照してください。