Git でコードを共有する
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Git リポジトリを使用するときに、Azure DevOps 内の他のユーザーとコードを共有します。
前提条件
Azure DevOps に organization および project が必要です。 プロジェクトを作成すると、Azure DevOps によって Repos に空のリポジトリが自動的に作成されます。
1. Git コマンドライン ツールをインストールする
次のいずれかの Git コマンドライン ツールをインストールします。
- Git for Windows および Git Credential Manager。
- macOS または Linux 用の Git。 macOS と Linux の場合は、SSH 認証を構成 することをお勧めします。
2. リポジトリをコンピューターに複製する
Git リポジトリを操作するには、それをコンピューターに複製して、リポジトリの完全なローカル コピーを作成します。 コードは、いくつかの場所のいずれかに存在する可能性があります。
シナリオに適用できる次の手順を完了します。
- まだコードがない場合は最初にプロジェクトに新しい Git リポジトリを作成してから次の手順を完了します。
- コードが GitHub リポジトリや別の Azure Repo インスタンスなどの別の Git リポジトリにある場合は新規または既存の空の Git リポジトリにインポートし次の手順を完了します。
- コードがローカル コンピューター上にあり、まだバージョン管理されていない場合はプロジェクトに新しい Git リポジトリを作成するか既存のリポジトリにコードを追加します。
Web ブラウザーで、組織のチーム プロジェクトを開き、 Repos>Files を選択します。
[複製] を選択します。
URL をコピー します。
Git コマンド ウィンドウを開きます (Git for Windows の Git Bash)。 リポジトリのコードをコンピューターに格納するフォルダーに移動し、
git clone
を実行し、前の手順で Clone URL からコピーしたパスを します。 次の例を参照してください。git clone https://FabrikamFiber01@dev.azure.com/FabrikamFiber01/FabrikamFiber01-01/_git/FabrikamFiber01-01
Git は、すべての コミットと ブランチ を含むコードのコピーをリポジトリから新しいフォルダーにダウンロードして操作します。
クローンしたリポジトリにディレクトリを切り替えます。
cd fabrikam-web
ブランチで動作するには、このコマンド ウィンドウを開いたままにしておきます。
3. ブランチで作業する
Git ブランチ プロジェクトで行われている他の作業から変更を分離します。 Git ワークフローを使用することをお勧めします。このワークフローでは、作業するすべての機能または修正プログラムに新しいブランチが使用されます。 この例では、ブランチ users/jamal/feature1
を使用します。
branch
コマンドを使用してブランチを作成します。git branch users/jamal/feature1
このコマンドは、新しいブランチの参照を Git に作成します。 また、親コミットへのポインターを作成して、ブランチにコミットを追加するときに Git が変更履歴を保持できるようにします。
以前に複製したリポジトリを使用している場合は、新しいブランチを作成する前に、適切なブランチ (
git checkout main
) をチェックアウトし、最新の状態 (git pull origin main
) であることを確認します。checkout
を使用して、そのブランチに切り替えます。git checkout users/jamal/feature1
Git は、チェックアウトされたブランチの最新のコミットと一致するように、コンピューター上のファイルを変更します。
ヒント
コマンド ラインからブランチを作成すると、ブランチは現在チェックアウトされているブランチに基づいています。 リポジトリを複製すると、既定のブランチ (通常は
main
) がチェックアウトされます。複製したため、main
のローカル コピーに最新の変更が加えられます。git checkout main git pull origin main git branch users/jamal/feature1 git checkout users/jamal/feature1
前の例の最初の 3 つのコマンドを次のコマンドに置き換えることができます。このコマンドにより、最新の
main
ブランチに基づいてusers/jamal/feature1
という名前の新しいブランチが作成されます。git pull origin main:users/jamal/feature1
前のセクションで使用した Git Bash ウィンドウに戻ります。 次のコマンドを実行して、メイン ブランチに基づいて新しいブランチを作成してチェックアウトします。
git pull origin main:users/jamal/feature1 git checkout feature1
4. コードを操作する
次の手順では、コンピューター上のファイルに変更を加え、ローカルで変更をコミットしてから、サーバーに格納されているリポジトリにコミットをプッシュします。
リポジトリを複製したコンピューター上のフォルダーを参照し、任意のエディターで
README.md
ファイルを開き、変更を加えます。 次に、 保存 ファイルを閉じます。Git コマンド ウィンドウで、次のコマンドを入力して
contoso-demo
ディレクトリに移動します。cd contoso-demo
Git コマンド ウィンドウで次のコマンドを入力して、変更をコミットします。
git add . git commit -m "My first commit"
git add .
コマンドは、新しいファイルまたは変更されたファイルをステージングし、指定したコミット メッセージを使用してコミットを作成git commit -m
。間違ったブランチに変更をコミットしないように、コミットする前に作業しているブランチを確認します。 Git は常に、現在のローカル ブランチに新しいコミットを追加します。
変更をサーバー上の Git リポジトリにプッシュします。 Git コマンド ウィンドウに次のコマンドを入力します。
git push origin users/jamal/feature1
これで、コードは users/jamal/feature1
という名前のブランチ内のリモート リポジトリと共有されます。 作業ブランチから main
ブランチにコードをマージするには、pull request を使用します。
5. 変更を pull request とマージする
pull request では、コードのレビューとマージが組み合わせられて、1 つのコラボレーション プロセスになります。 ブランチのバグまたは新機能の修正が完了したら、新しい pull request を作成します。 チームのメンバーを pull request に追加して、変更を確認して投票できるようにします。 pull request を使用して、進行中の作業をレビューし、変更に関する早期のフィードバックを得ます。 プル要求はいつでも破棄できるため、変更をマージするコミットメントはありません。
次の例は、プル要求を作成して完了する基本的な手順を示しています。
Web ブラウザーで組織のチーム プロジェクトを開き、 Repos>Files を選択します。 クローン URL を取得した後もブラウザーを開いたままにしておいた場合は、それに切り替えることができます。
Files ウィンドウの右上隅にある pull request の作成を選択します。 今すぐ更新したユーザー/jamal/feature1 のようなメッセージが表示されない場合はブラウザーを更新してください。
新しいプル要求は、ブランチを既定のブランチにマージするように構成されています。この例では
main
。 タイトルと説明には、コミット メッセージが事前に入力されています。レビュー担当者を追加し作業項目を pull request にリンクできます。
pull request に含まれるファイルは、 [新しい Pull Request ウィンドウの下部で確認できます。
[作成] を選択します
Overview タブから pull request の詳細を表示します。また、他のタブから pull request で変更されたファイル、更新、コミットを表示することもできます。
Complete を選択して、プル要求の完了プロセスを開始します。
Complete マージを選択して pull request を完了し、コードを
main
ブランチにマージします。Note
この例では、プル要求を作成して完了する基本的な手順を示します。 詳細については、「プル リクエストの作成、表示および管理」を参照してください。
変更が main
ブランチにマージされ、users/jamal/feature1
ブランチがリモート リポジトリで削除されます。
履歴を表示する
Web ポータルに戻り、Code ページから History を選択して、新しいコミットを表示します。
Files タブに切り替え、README ファイルを選択して変更を表示します。
クリーンアップ
ブランチのローカル コピーを削除するには、Git Bash コマンド プロンプトに戻り、次のコマンドを実行します。
git checkout main
git pull origin main
git branch -d users/jamal/feature1
このアクションにより、次のタスクが完了します。
git checkout main
コマンドを実行すると、main
ブランチに切り替えます。git pull origin main
コマンドは、変更やusers/jamal/feature1
がマージされたという事実を含む、メイン ブランチのコードの最新バージョンをプルします。git branch -d users/jamal/feature1
コマンドは、そのブランチのローカル コピーを削除します。