コードのコミット、共有、および同期
Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018
Visual Studio 2019 |Visual Studio 2022
Azure Repos および Git リポジトリを使用してコードの開発を開始します。 Visual Studio または Git コマンドを使用して、リポジトリの複製、ローカル ブランチの定義、変更のコミットとプッシュ、他のユーザーとの同期を行うことができます。 リポジトリを作成またはインポートする必要がある場合は、「 プロジェクトに新しい Git リポジトリを作成 する」または「 Git リポジトリをインポートする」を参照してください。
Note
この記事では、Visual Studio を使用して git リポジトリAzure Repos管理する方法について説明します。 同様の手順を使用して、Visual Studio を使用して GitHub リポジトリを管理できます。 GitHub リポジトリを複製するには、「リポジトリの 複製」の説明に従って URL を取得します。
Git ワークフローの概要については、Azure Repos Git チュートリアル参照してください。
Note
Visual Studio 2019 バージョン 16.8 以降のバージョンでは、チーム エクスプローラーよりもコンテキスト切り替えの少ない Git ワークフローを管理するための新しい Git メニューが提供されます。 この記事の Visual Studio タブで提供される手順では、Git エクスペリエンスとチーム エクスプローラーの使用に関する情報を提供します。 詳細については、「 Git とチーム エクスプローラーのサイド バイ サイド比較」を参照してください。
前提条件
リポジトリは、 Azure DevOps プロジェクト設定で有効にする必要があります。 Repos ハブと関連ページが表示されない場合は、「Azure DevOps サービスを有効または無効にして Repos を再度有効にする」を参照してください。
プライベート プロジェクトでコードを表示するには、 Basic アクセス レベル以上の Azure DevOps プロジェクトのメンバーである必要があります。 パブリック プロジェクトの場合、すべてのユーザーがコードを表示できます。
プロジェクトがない場合は、プロジェクトを作成するか、 無料でサインアップします。
プロジェクト メンバーでない場合は、 を追加します。
プライベート プロジェクトのコードを複製または投稿するには、 共同作成者 セキュリティ グループのメンバーであるか、対応するアクセス許可が設定されている必要があります。 パブリック プロジェクトの場合、誰でもコードを複製して投稿できます。 詳細については、「パブリック プロジェクトとは」を参照してください。
Note
パブリック プロジェクトの場合、利害関係者アクセス権を付与されたユーザーは、Azure Reposへのフル アクセス権を持ちます。
リポジトリは、 Azure DevOps プロジェクト設定で有効にする必要があります。 Repos ハブと関連ページが表示されない場合は、「Azure DevOps サービスを有効または無効にして Repos を再度有効にする」を参照してください。
コードを表示するには、 Basic 以上のアクセス権を持つ Azure DevOps プロジェクトのメンバーである必要があります。 プロジェクト メンバーでない場合は、 を追加します。
コードを複製またはコードに投稿するには、変更するプロジェクトで 共同作成者 セキュリティ グループのメンバーであるか、対応するアクセス許可を持っている必要があります。
コードを表示するには、 Basic 以上のアクセス権を持つ Azure DevOps プロジェクトのメンバーである必要があります。 プロジェクト メンバーでない場合は、 を追加します。
コードを複製またはコードに投稿するには、 共同作成者 セキュリティ グループのメンバーであるか、対応するアクセス許可を持っている必要があります。
アクセス許可とアクセスの詳細については、「 既定の 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 メニューのローカル リポジトリの一覧に追加されます。
Note
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 の変更 ] ウィンドウで、変更を説明するメッセージを入力し、[ すべてコミット] を選択します。 Commit All commits unstaged changes and skips the staging area. コミットする前にすべてのファイルをステージングすることを選択するには、[ 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 が開いたら、ソースブランチと宛先ブランチを確認します。 この例では、ブランチから ブランチmain
にコミットをadd-readme-file
マージします。 タイトルとオプションの説明を入力し、校閲者を指定し、必要に応じて作業項目を関連付け、[ 作成] を選択します。
pull request の詳細については、 Pull request のチュートリアルを参照してください。
他のユーザーと同期する
他のユーザーによって作成されたコミットを プル することで、ローカル ブランチをリモートブランチと同期させることができます。 Git は受信した変更と変更をマージするのに適していますが、 マージの競合を解決しなければならない場合があります。 機能ブランチで作業している間は、定期的にブランチに切り替え、新しいコミットを main
プルしてリモート main
ブランチで最新の状態に保つことをお勧めします。
[ Git の変更 ] ウィンドウでは、[ フェッチ]、[ プル]、[ プッシュ]、[ 同期 ] ボタンを使用して、ローカル ブランチを最新の状態に保つことができます。
前のスクリーンショットの左から右に、ボタン コントロールは次のとおりです。
- フェッチ では、ローカル ブランチには存在しないが、マージされないリモート コミットがダウンロードされます。
- pull はフェッチを実行し、ダウンロードしたコミットをローカル ブランチにマージします。
- プッシュ により、プッシュされていないコミットがリモート リポジトリにアップロードされ、対応するリモート ブランチに追加されます。
- 同期 では、 プル 、 プッシュが実行されます。
Git メニューから [フェッチ]、[ プル]、[ プッシュ]、[ 同期 ] を選択することもできます。