コードを Azure Repos および Visual Studio と共有する

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Azure Repos の Git リポジトリでコードをホストすることで、Visual Studio ソリューションを他の人と共有します。 Azure Repos の Git リポジトリまたは GitHub リポジトリを管理するために、Visual Studio を使用できます。 この記事では、次の作業の手順を説明します。

  • プロジェクトまたはソリューションをローカル Git リポジトリに追加する
  • Azure Repos の Git リポジトリまたは GitHub リポジトリにコードを発行する
  • 発行する前にコードの変更内容を確認する
  • 作業項目をコミットにリンクする
  • 更新内容をコミットしてプッシュする
  • リポジトリの main ブランチから変更をプルする

GitHub リポジトリをクローンするには、「リポジトリをクローンする」の説明に従って クローン URL を取得します。

Git ワークフローの概要については、Azure Repos Git チュートリアル参照してください。

前提条件

  • Repos を Azure DevOps プロジェクト設定で有効にする必要があります。 Repos ハブと関連ページが表示されない場合は、Azure DevOps サービスのオンとオフの切り替えに関するページを参照して Repos を再度有効にしてください。

  • プライベート プロジェクトのコードを表示するには、Basic 以上のアクセス レベルの Azure DevOps プロジェクト メンバーである必要があります。 パブリック プロジェクトの場合、誰でもコードを表示できます。

  • プライベート プロジェクトのコードを複製または投稿するには、共同作成者セキュリティ グループのメンバーであるか、対応するアクセス許可が設定されている必要があります。 パブリック プロジェクトの場合、誰でもコードの複製と投稿ができます。 詳細については、パブリック プロジェクトとは何かに関するページを参照してください。

    Note

    パブリック プロジェクトの場合、利害関係者アクセス権を付与されたユーザーは、Azure Repos へのフル アクセス権があります。

  • Repos を、Azure DevOps プロジェクト設定で有効にする必要があります。 Repos ハブと関連ページが表示されない場合は、Azure DevOps サービスのオンとオフの切り替えに関するページを参照して Repos を再度有効にしてください。

  • コードを表示するには、Basic 以上のアクセス権を持つ Azure DevOps プロジェクト メンバーである必要があります。 プロジェクト メンバーでない場合は、追加してもらいます

  • コードを複製または投稿するには、変更しようとしているプロジェクトの共同作成者セキュリティ グループのメンバーであるか、対応するアクセス許可を持っている必要があります。

アクセス許可とアクセス権の詳細については、「既定の Git リポジトリとブランチのアクセス許可」および「アクセス レベルについて」を参照してください。

Note

Visual Studio 2019 バージョン 16.8 以降のバージョンでは、Git ワークフローを管理するために、チーム エクスプローラーよりもコンテキストの切り替えが少ない新しい Git メニューが提供されます。 この記事の Visual Studio タブで提供される手順では、チーム エクスプローラーに加えて、Git エクスペリエンスを使用するための情報を示します。 詳細については、「Git とチーム エクスプローラーを並べて比較する」を参照してください。

プロジェクトまたはソリューションを新しいローカル Git リポジトリに追加する

Git を使用して Visual Studio ソリューションを他の人と共有する最初の手順は、コード用のローカル Git リポジトリを作成することです。 Visual Studio を使用して Azure Repos に接続するのが初めての場合、詳細については、Visual Studio からプロジェクトに接続する方法に関するページを参照してください。

  1. Visual Studio ソリューション用に新しいローカル Git リポジトリを作成するには、ソリューション エクスプローラーでソリューション名を右クリックし、[Git リポジトリの作成] を選択します。 または、Visual Studio の右下隅にあるステータス バーで [ソース管理に追加] を選択し、[Git] を選択します。 これらのオプションが表示されない場合は、コードは既に Git リポジトリにあります。

    Visual Studio 2022 のソリューション エクスプローラーのコンテキスト メニューの [Git リポジトリの作成] オプションのスクリーンショット。

    または、メニュー バーから [Git]>[Git リポジトリの作成] を選択して、[Git リポジトリの作成] ウィンドウを起動します。 このオプションが表示されない場合は、コードは既に Git リポジトリにあります。

    Visual Studio 2022 のメニュー バーの [Git] メニューの [Git リポジトリの作成] オプションのスクリーンショット。

  2. この手順は、Visual Studio の Git バージョン管理エクスペリエンスにのみ適用されます。[Git リポジトリの作成] ウィンドウで、[Local only] (ローカルのみ) を選択し、ローカル パスが正しいことを確認し、[作成] を選択します。

    Visual Studio 2022 で [Local only] (ローカルのみ) オプションが選択されている [Git リポジトリの作成] ウィンドウのスクリーンショット。

これで、Visual Studio ソリューション フォルダーにローカル Git リポジトリを作成し、そのリポジトリにコードをコミットしました。 このローカル Git リポジトリには、Visual Studio ソリューションと Git リソースの両方が含まれています。

Windows エクスプローラーの Git フォルダー、Git ignore ファイル、Git attributes ファイルのスクリーンショット。

コードを発行する

ローカル Git リポジトリを Azure Repos の Git リポジトリに発行することで、作業内容を他の人と共有できます。

Visual Studio 2022 は、[Git] メニュー、[Git 変更]、および [ソリューション エクスプローラー] のコンテキスト メニューを使用して、Git バージョン管理エクスペリエンスを提供します。 Visual Studio 2019 バージョン 16.8 には、チーム エクスプローラーの Git ユーザー インターフェイスも用意されています。 詳細については、「Visual Studio 2019 - チーム エクスプローラー」タブを参照してください。

  1. Azure DevOps リポジトリに接続するには、ソリューション エクスプローラーでソリューション名を右クリックし、[Git サービスにプッシュする] を選択して [Git リポジトリの作成] ウィンドウを起動します。

    Visual Studio 2022 のソリューション エクスプローラーのコンテキスト メニューの [Git サービスにプッシュする] オプションのスクリーンショット。

    または、メニュー バーから [Git] > [Git サービスにプッシュする] を選択して、[Git リポジトリの作成] ウィンドウを起動します。

    Visual Studio 2022 のコンテキスト メニューの [Git サービスにプッシュする] オプションのスクリーンショット。

  2. [Git リポジトリの作成] ダイアログ ボックスで、[GitHub] を選択します。 [新しい GitHub リポジトリを作成する] で、必須の値を入力します。 次に、[プッシュ] を選択します。

    Visual Studio 2022 の [Git リポジトリの作成] ダイアログ ボックスのスクリーンショット。

    リポジトリが作成されたことを確認するには、GitHub に移動し、自分のアカウントでリポジトリ名を検索します。

変更のコミットを確認する

発行する前に、コミット内容のコード変更を確認することをお勧めします。 Visual Studio には、前のコミット以降に行ったすべての変更を確認するのに役立つ差分ビューが用意されています。

  1. あるコミットで何が変更されたかを確認するには、[Git]>[ブランチの管理] を選択して [Git リポジトリ] ウィンドウを開きます。

    Visual Studio のスクリーンショット。

  2. [Git リポジトリ] ウィンドウでブランチを選択し、コミットを右クリックし、[コミットの詳細の表示] を選択して [コミット] ウィンドウを開きます。

    Visual Studio の [Git リポジトリ] ウィンドウのコミットの [コミットの詳細の表示] メニュー オプションのスクリーンショット。

  3. [コミット] ウィンドウで、任意のファイルを右クリックし、[以前と比較] を選択すると、そのコミットによって行われたファイルの変更を表示できます。

    Visual Studio の [コミット] ペインの [以前と比較] オプションのスクリーンショット。

ソフトウェアを開発するときに、どのコミットが Azure DevOps タスクやバグ修正などの作業項目の完了をサポートしているかをキャプチャできます。 コミットにリンクされた作業項目の監査証跡を使用すると、チームはタスクとバグがどのように解決されたかを理解できます。

Note

Azure Repos の Git リポジトリに接続するときは、#ID 構文がサポートされます。 GitHub リポジトリに接続する場合にも、作業項目にリンクできますが、#ABID 構文を使用し、Azure Boards-GitHub 接続を事前に設定しておく必要があります。

作業項目をコミットにリンクできます。そのためには、#ID をコミット メッセージに追加します。 たとえば、"Fix bug #12 Missing icons in the reporting tools" というコミット メッセージは、このコミットが Azure Repos にプッシュされたときに、作業項目 12 をコミットにリンクします。

Visual Studio の [Git 変更] ウィンドウ内の、コミットにリンクしている作業項目のスクリーンショット。

変更のコミットをプッシュする

コードを記述すると、変更内容は Visual Studio によって自動的に追跡されます。 変更内容に問題がなければ、コミットを使用して Git に保存し、コミットを Azure Repos にプッシュできます。

  1. [Git 変更] ウィンドウで、変更を説明するメッセージを入力し、[すべてコミット] を選びます。 [すべてコミット] では、ステージされていない変更がコミットされ、ステージング領域がスキップされます。 [Git 変更] ウィンドウの [変更] セクションの上部にある [すべてをステージ] (+) ボタンを選択して、コミットする前にすべてのファイルをステージングすることを選択できます。

    Visual Studio の [Git 変更] ウィンドウにある [すべてコミット] ボタンのスクリーンショット。

  2. コミットを Azure Repos にプッシュするには、上矢印のプッシュ ボタンを選択します。

    Visual Studio の [Git 変更] ウィンドウにある上矢印のプッシュ ボタンのスクリーンショット。

    または、[Git リポジトリ] ウィンドウからコミットをプッシュすることもできます。 [Git リポジトリ] ウィンドウを開くには、[Git 変更] ウィンドウで [outgoing / incoming] (送信数 / 受信数) リンクを選択します。

    Visual Studio の [Git 変更] ウィンドウの [outgoing / incoming] (送信数 / 受信数) リンクと、 [Git リポジトリ] ウィンドウの [プッシュ] リンクのスクリーンショット。

    または、メニュー バーから [Git] > [プッシュ] を選択することもできます。

    Visual Studio の [Git] メニューの [プッシュ] オプションのスクリーンショット。

変更をプルする

他のユーザーによって作成されたコミットをプルすることで、ローカル ブランチをリモート ブランチと同期させることができます。 feature ブランチで作業している間は、定期的に main ブランチに切り替え、新しいコミットをプルして、リモートの main ブランチとの間で最新の状態に保つことをお勧めします。

Note

Visual Studio では、[フェッチ][プル] のリンクは、さまざまなビューとメニュー バーの [Git] メニューにあります。 これらのリンクはすべて同じことを行います。つまり、リモート リポジトリからローカル リポジトリの現在のブランチにフェッチまたはプルします。

  1. [Git 変更] ウィンドウでは、リモート ブランチの最新のコミットをチェックできます。そのためには、下矢印フェッチ リンクを使用し、[outgoing / incoming] (送信数 / 受信数) リンクを選択して [Git リポジトリ] ウィンドウを開きます。 [フェッチ] では、ローカル ブランチに存在しないリモート コミットがダウンロードされますが、これらはローカル ブランチにマージされません。 フェッチされたコミットは、[Git リポジトリ] ウィンドウの [入力方向のコミット] セクションに表示されます。 フェッチされたコミットをダブルクリックすると、そのファイルの変更を表示できます。

    Visual Studio の [Git 変更] ウィンドウの [フェッチ]、[プル]、[プッシュ]、[同期] のボタンのスクリーンショット。

  2. [プル] を選択して、フェッチされたリモート コミットをローカル リポジトリにマージします。 [プル] では、フェッチが実行され、ダウンロードしたコミットがローカル ブランチにマージされます。

FAQ

Q: Web ポータルと Visual Studio でサインイン ページが異なるのはなぜですか?

A: サインイン ページは、Azure DevOps で Microsoft アカウントと職場アカウントのどちらを使用したかによって異なります。 必ず、Azure DevOps に使用するユーザー名とパスワードを使用してサインインしてください。

Q: Visual Studio で Git コマンド プロンプトを使用できますか?

A: Visual Studio のチーム エクスプローラーと Git コマンド ラインは連携して機能します。 いずれかのツールで行われたリポジトリに対する変更は、もう一方のツールに反映されます。 Azure DevOps Services/TFS リポジトリへの接続に役立つツールを備えた最新リリースの Git for Windows をインストールしてください。

コマンド ラインから Git を使用する場合のその他のヘルプについては、Azure Repos Git のチュートリアルコマンド リファレンスを参照してください。

次のステップ