コードを 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 からプロジェクトに接続する方法に関するページを参照してください。
Visual Studio ソリューション用に新しいローカル Git リポジトリを作成するには、ソリューション エクスプローラーでソリューション名を右クリックし、[Git リポジトリの作成] を選択します。 または、Visual Studio の右下隅にあるステータス バーで [ソース管理に追加] を選択し、[Git] を選択します。 これらのオプションが表示されない場合は、コードは既に Git リポジトリにあります。
または、メニュー バーから [Git]>[Git リポジトリの作成] を選択して、[Git リポジトリの作成] ウィンドウを起動します。 このオプションが表示されない場合は、コードは既に Git リポジトリにあります。
この手順は、Visual Studio の Git バージョン管理エクスペリエンスにのみ適用されます。[Git リポジトリの作成] ウィンドウで、[Local only] (ローカルのみ) を選択し、ローカル パスが正しいことを確認し、[作成] を選択します。
これで、Visual Studio ソリューション フォルダーにローカル Git リポジトリを作成し、そのリポジトリにコードをコミットしました。 このローカル Git リポジトリには、Visual Studio ソリューションと Git リソースの両方が含まれています。
コードを発行する
ローカル Git リポジトリを Azure Repos の Git リポジトリに発行することで、作業内容を他の人と共有できます。
Visual Studio 2022 は、[Git] メニュー、[Git 変更]、および [ソリューション エクスプローラー] のコンテキスト メニューを使用して、Git バージョン管理エクスペリエンスを提供します。 Visual Studio 2019 バージョン 16.8 には、チーム エクスプローラーの Git ユーザー インターフェイスも用意されています。 詳細については、「Visual Studio 2019 - チーム エクスプローラー」タブを参照してください。
Azure DevOps リポジトリに接続するには、ソリューション エクスプローラーでソリューション名を右クリックし、[Git サービスにプッシュする] を選択して [Git リポジトリの作成] ウィンドウを起動します。
または、メニュー バーから [Git] > [Git サービスにプッシュする] を選択して、[Git リポジトリの作成] ウィンドウを起動します。
[Git リポジトリの作成] ダイアログ ボックスで、[GitHub] を選択します。 [新しい GitHub リポジトリを作成する] で、必須の値を入力します。 次に、[プッシュ] を選択します。
リポジトリが作成されたことを確認するには、GitHub に移動し、自分のアカウントでリポジトリ名を検索します。
変更のコミットを確認する
発行する前に、コミット内容のコード変更を確認することをお勧めします。 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 に保存し、コミットを Azure Repos にプッシュできます。
[Git 変更] ウィンドウで、変更を説明するメッセージを入力し、[すべてコミット] を選びます。 [すべてコミット] では、ステージされていない変更がコミットされ、ステージング領域がスキップされます。 [Git 変更] ウィンドウの [変更] セクションの上部にある [すべてをステージ] (+) ボタンを選択して、コミットする前にすべてのファイルをステージングすることを選択できます。
コミットを Azure Repos にプッシュするには、上矢印のプッシュ ボタンを選択します。
または、[Git リポジトリ] ウィンドウからコミットをプッシュすることもできます。 [Git リポジトリ] ウィンドウを開くには、[Git 変更] ウィンドウで [outgoing / incoming] (送信数 / 受信数) リンクを選択します。
または、メニュー バーから [Git] > [プッシュ] を選択することもできます。
変更をプルする
他のユーザーによって作成されたコミットをプルすることで、ローカル ブランチをリモート ブランチと同期させることができます。 feature ブランチで作業している間は、定期的に main
ブランチに切り替え、新しいコミットをプルして、リモートの main
ブランチとの間で最新の状態に保つことをお勧めします。
Note
Visual Studio では、[フェッチ] と [プル] のリンクは、さまざまなビューとメニュー バーの [Git] メニューにあります。 これらのリンクはすべて同じことを行います。つまり、リモート リポジトリからローカル リポジトリの現在のブランチにフェッチまたはプルします。
[Git 変更] ウィンドウでは、リモート ブランチの最新のコミットをチェックできます。そのためには、下矢印フェッチ リンクを使用し、[outgoing / incoming] (送信数 / 受信数) リンクを選択して [Git リポジトリ] ウィンドウを開きます。 [フェッチ] では、ローカル ブランチに存在しないリモート コミットがダウンロードされますが、これらはローカル ブランチにマージされません。 フェッチされたコミットは、[Git リポジトリ] ウィンドウの [入力方向のコミット] セクションに表示されます。 フェッチされたコミットをダブルクリックすると、そのファイルの変更を表示できます。
[プル] を選択して、フェッチされたリモート コミットをローカル リポジトリにマージします。 [プル] では、フェッチが実行され、ダウンロードしたコミットがローカル ブランチにマージされます。
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 のチュートリアルとコマンド リファレンスを参照してください。