Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
Visual Studio 2019 |Visual Studio 2022
Azure Repos および Git リポジトリを使用してコードの開発を開始します。 Visual Studio または Git コマンドを使用して、リポジトリのクローン、ローカル ブランチの定義、変更のコミットとプッシュ、他のユーザーとの同期を行うことができます。 リポジトリを作成またはインポートする必要がある場合は、「プロジェクトで新しい Git リポジトリを作成する」または「Git リポジトリをインポートする」を参照してください。
注
この記事では、Visual Studio を使用して Azure Repos Git リポジトリを管理する方法について説明します。 同様の手順を使用して、Visual Studio を使用して GitHub リポジトリを管理できます。 GitHub リポジトリをクローンするには、「リポジトリをクローンする」の説明に従って URL を取得します。
Git ワークフローの概要については、Azure Repos Git チュートリアル参照してください。
注
Visual Studio 2019 バージョン 16.8 以降では、チーム エクスプローラーよりもコンテキスト切り替えの少ない Git ワークフローを管理するための Git メニューが提供されます。 この記事の Visual Studio タブの手順では、Git エクスペリエンスとチーム エクスプローラーの使用方法について説明します。 詳細については、「Git とチーム エクスプローラーを並べて比較する」を参照してください。
前提条件
| カテゴリ | 要求事項 | 
|---|---|
| プロジェクトへのアクセス | プロジェクトのメンバー。 | 
| アクセス許可 | - プライベート プロジェクトでコードを表示する: 少なくとも Basic アクセス。 - プライベート プロジェクトのコードに複製または投稿する: 共同作成者 セキュリティ グループのメンバーまたはプロジェクト内の対応するアクセス許可。 - ブランチまたはリポジトリのアクセス許可の設定: ブランチまたはリポジトリのアクセス許可を管理します。 - デフォルトのブランチを変更する: リポジトリのポリシーを編集するためのアクセス許可。 - リポジトリのインポート: プロジェクト管理者 セキュリティ グループのメンバーまたは Git プロジェクト レベルでリポジトリの作成アクセス許可が許可に設定された場合。 詳細については、「Git リポジトリのアクセス許可を設定する」を参照してください。 | 
| サービス | リポジトリが有効になりました。 | 
| ツール | 任意。 「az repos コマンドを使用します: Azure DevOps CLI。」 | 
注
パブリック プロジェクトでは、 利害関係者 アクセス権を持つユーザーは、コードの表示、複製、投稿など、Azure Repos へのフル アクセス権を持ちます。
| カテゴリ | 要求事項 | 
|---|---|
| プロジェクトへのアクセス | プロジェクトのメンバー。 | 
| アクセス許可 | - コードの表示: Basic アクセス以上。 - コードを複製または投稿する: 共同編集者のセキュリティ グループのメンバー、またはプロジェクト内の対応する権限が必要です。 | 
| サービス | リポジトリが有効になりました。 | 
アクセス許可とアクセスの詳細については、「既定の Git リポジトリとブランチのアクセス許可」および「アクセス レベルについて」を参照してください。
コードを取得する
リモート Git リポジトリをクローンして、そのローカル コピーを作成できます。 クローンでは、ユーザーが操作するソース コードのコピーと、Git でソース コードを管理可能にするためのバージョン管理情報の両方が作成されます。
クローンせずにローカル リポジトリを作成する場合は、「新しい Git リポジトリを作成する」を参照してください。 ローカル リポジトリを作成したら、作業のコミット、共有、同期に進むことができます。
Visual Studio 2022 は、[Git] メニュー、[Git 変更]、および [ソリューション エクスプローラー] のコンテキスト メニューを使用して、Git バージョン管理エクスペリエンスを提供します。 Visual Studio 2019 バージョン 16.8 には、チーム エクスプローラーの Git ユーザー インターフェイスも用意されています。 詳細については、「Visual Studio 2019 - チーム エクスプローラー」タブを参照してください。
- メニュー バーの [Git] メニューから、[リポジトリのクローン...] を選択します。 
- [リポジトリのクローン] ウィンドウに、リモート リポジトリの場所と、複製されたリポジトリのフォルダー パスを入力します。 リモート リポジトリの場所がわからない場合は、[リポジトリを参照する] オプションから [Azure DevOps] を選択します。 
- [複製] を選択します。 Git リポジトリをクローンすると、Visual Studio によってリポジトリが検出され、Git メニューの [ローカル リポジトリ] の一覧に追加されます。 
注
Azure DevOps Services では、プロジェクト URL の形式は dev.azure.com/{your organization}/{your project} です。 ただし、visualstudio.com 形式を参照する以前の形式は引き続きサポートされています。 詳細については、「Azure DevOps の概要」の「新しいドメイン名 URL を使用するように既存の組織を切り替える」を参照してください。
作業をコミットする
Git ブランチでは、変更がプロジェクト内の他の作業から分離されます。 推奨される Git ワークフローでは、作業するすべての機能または修正プログラムに新しいブランチが使用されます。 ローカル Git リポジトリでコミットを行い、そのブランチに変更を保存します。
- メニュー バーの [Git] メニューから [新しいブランチ...] を選択して、[新しいブランチの作成] ウィンドウを開きます。 
- [新しいブランチの作成] ウィンドウで、ブランチに含まれる作業を他のユーザーに知らせるわかりやすいブランチ名を入力します。 既定の Visual Studio では、現在のブランチから新しいブランチが作成されます。 [ブランチのチェックアウト] チェックボックスをオンにすると、新しく作成されたブランチに自動的に切り替わります。 [作成] を選択します 
- 複製されたリポジトリに README.md ファイルを追加します。 ソリューション エクスプローラーでは、[フォルダー ビュー] を使用してリポジトリの内容を参照するか、リポジトリで Visual Studio ソリューションを開くことができます。 Git では Visual Studio の内部と外部の両方で行われた変更が追跡されます。 
- 変更に問題がなければ、コミットを使用して、それらを Git に保存します。 [Git 変更] ウィンドウで、変更を説明するメッセージを入力し、[すべてコミット] を選びます。 [すべてコミット] では、ステージされていない変更がコミットされ、ステージング領域がスキップされます。 Git 変更 ウィンドウの 変更 セクションの上部にある + すべてをステージ (プラス) ボタンを選択して、コミットする前にすべてのファイルをステージングすることを選択できます。 - コミット情報リンクを選択すると、コミットに関する詳細を取得できます。 
変更を共有する
ブランチに 1 つ以上のコミットを追加し、それらの変更を他のユーザーと共有する準備ができたら、コミットをプッシュして、他のユーザーが確認できるようにします。
コミットをプッシュしたら、pull request を作成できます。 pull request を使用すると、変更をレビューしてもらう必要があることを他のユーザーに知らせます。 承認された後、pull request では通常、リモート リポジトリの既定のブランチに変更が追加されます。
- [Git 変更] ウィンドウで、上矢印のプッシュ ボタンを選択してコミットをプッシュします。 - または、[Git リポジトリ] ウィンドウから変更をプッシュすることもできます。 [Git リポジトリ] ウィンドウを開くには、[Git 変更] ウィンドウで [発信 / 着信] リンクを選択します。 - または、メニュー バーの [Git] メニューから変更をプッシュすることもできます。 
- pull request を作成し、他のユーザーが変更を確認できるようにします。 [Git 変更] ウィンドウから変更をプッシュしたばかりの場合は、[Pull request の作成] リンクを選択して Web ブラウザーを開き、Azure Repos Web ポータルで新しい pull request を作成できます。 - または、[Git リポジトリ] ウィンドウから変更をプッシュしたばかりの場合は、そのウィンドウの上部にある [Pull request の作成] リンクを選択できます。 - または、[Git リポジトリ] ウィンドウで任意のブランチを右クリックし、[Pull request の作成] を選択することもできます。 
Azure Repos Web ポータルで pull request が開いたら、ソースと宛先のブランチを確認します。 この例では、add-readme-file ブランチからのコミットを main ブランチにマージする必要があります。 タイトルとオプションの説明を入力し、レビュー担当者を指定し、必要に応じて作業項目を関連付け、[作成] を選択します。
              
              ![Azure Repos Web ポータルの [新しい pull request] フォームのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/create-pull-request.png?view=azure-devops) 
              
              
            
pull request の詳細については、Pull request のチュートリアルを参照してください。
他のユーザーと同期する
他のユーザーによって作成されたコミットをプルすることで、ローカル ブランチをリモート ブランチと同期させることができます。 Git は着信した変更を自分の変更とマージすることに適していますが、マージの競合を解決しなければならない場合もあります。 機能ブランチで作業している間は、定期的に main ブランチに切り替え、新しいコミットをプルして、リモートの main ブランチを使って最新の状態を保つことをお勧めします。
[Git 変更] ウィンドウでは、[フェッチ]、[プル]、[プッシュ]、[同期] の各ボタンを使用して、リモート ブランチを使ってローカル ブランチを最新の状態に保つことができます。
前のスクリーンショットの左から右へ向かって、ボタン コントロールは次のとおりです。
- [フェッチ] では、ローカル ブランチに存在しないリモート コミットがダウンロードされますが、マージされません。
- [プル] では、フェッチが実行され、ダウンロードしたコミットがローカル ブランチにマージされます。
- [プッシュ] では、プッシュされていないコミットがリモート リポジトリにアップロードされ、対応するリモート ブランチに追加されます。
- [同期] では、[プル] を実行してから [プッシュ] を実行します。
Git メニューから [フェッチ]、[プル]、[プッシュ]、[同期] を選択することもできます。
![Visual Studio の Git メニューの [リポジトリのクローン] オプションのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/clone-repo.png?view=azure-devops) 
              
              ![Visual Studio の [リポジトリのクローン] ウィンドウのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/specify-repo.png?view=azure-devops) 
              
              ![Visual Studio の Git メニューの [ローカル リポジトリ] オプションのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/local-repositories.png?view=azure-devops) 
              
              ![Visual Studio 2019 のチーム エクスプローラーの [プロジェクトに接続] リンクのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/manage-connections.png?view=azure-devops) 
              
              ![Visual Studio 2019 の [プロジェクトに接続] ウィンドウのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/connect-add-server.png?view=azure-devops) 
              
               
              
            ![Visual Studio の [Git] メニューの [新しいブランチ] オプションのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/branches.png?view=azure-devops) 
              
              ![Visual Studio の [新しいブランチを作成する] ウィンドウのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/new-local-branch.png?view=azure-devops) 
              
              ![Visual Studio の [Git 変更] ウィンドウにある [すべてコミット] ボタンのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/changes.png?view=azure-devops) 
              
               
              
              ![Visual Studio 2019 の [Git 変更] ウィンドウにある [ステージ] オプションのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/stage-changes.png?view=azure-devops) 
              
              ![Visual Studio 2019 の [チーム エクスプローラー] にある [ブランチ] オプションを示すスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/branches.png?view=azure-devops) 
              
              ![Visual Studio 2019 のメイン ブランチのコンテキスト メニューにある [新しいローカル ブランチ] メニュー オプションのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/new-local-branch-menu.png?view=azure-devops) 
              
              ![Visual Studio 2019 のブランチ名のテキストと [ブランチの作成] ボタンのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/new-local-branch.png?view=azure-devops) 
              
              ![Visual Studio 2019 のチーム エクスプローラーにある [変更] オプションのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/changes.png?view=azure-devops) 
              
              ![Visual Studio 2019 でのコミット メッセージ テキストと [すべてコミット] ボタンのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/commit-all.png?view=azure-devops) 
              
              ![Visual Studio 2019 のチーム エクスプローラーの変更されたファイルに対するコンテキスト メニューの [ステージ] オプションのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/stage-changes.png?view=azure-devops) 
              
              ![Visual Studio の [Git 変更] ウィンドウにある上矢印のプッシュ ボタンのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/push-commit-git-changes-window.png?view=azure-devops) 
              
              ![Visual Studio の [Git 変更] ウィンドウの [発信 / 着信] リンクと、 [Git リポジトリ] ウィンドウの [プッシュ] リンクのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/push-commit-git-repositories-window.png?view=azure-devops) 
              
              ![Visual Studio の Git メニューの [プッシュ] オプションのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/push-commit-git-menu.png?view=azure-devops) 
              
              ![Visual Studio の [Git 変更] ウィンドウにある [Pull request の作成] リンクのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/create-pull-request-git-changes-window.png?view=azure-devops) 
              
              ![Visual Studio の [Git リポジトリ] ウィンドウにある [Pull request の作成] リンクのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/create-pull-request-git-repository-window.png?view=azure-devops) 
              
              ![Visual Studio の [Git リポジトリ] ウィンドウのブランチ コンテキスト メニューにある [Pull request の作成] メニュー オプションのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/create-pull-request-from-branch-git-repository-window.png?view=azure-devops) 
              
              ![Visual Studio 2019 のチーム エクスプローラー内の [同期] オプションのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/sync.png?view=azure-devops) 
              
              ![Visual Studio 2019 でコミットした後に表示される [同期] リンクのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/commit-created-locally.png?view=azure-devops) 
              
              ![Visual Studio 2019 のチーム エクスプローラーの [同期] ビューの [プッシュ] リンクのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/push-to-origin.png?view=azure-devops) 
              
              ![Visual Studio 2019 のチーム エクスプローラーにある [Pull Requests] オプションのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/pull-requests.png?view=azure-devops) 
              
              ![Visual Studio 2019 のチーム エクスプローラーの [Pull Requests] ビューの [新しい pull request] リンクのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/new-pull-request.png?view=azure-devops) 
              
               
              
             
              
            ![Visual Studio の [Git 変更] ウィンドウの [フェッチ]、[プル]、[プッシュ]、[同期] ボタンのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/sync-git-changes-window.png?view=azure-devops) 
              
              ![Visual Studio の [Git] メニューの [フェッチ]、[プル]、[プッシュ]、[同期] オプションのスクリーンショット。](media/gitquickstart/visual-studio-2019/git-experience/sync-git-menu.png?view=azure-devops) 
              
              ![Visual Studio 2019 のチーム エクスプローラーの [同期] ビューの [プル] リンクのスクリーンショット。](media/gitquickstart/visual-studio-2019/team-explorer/incoming-commits.png?view=azure-devops)