AWS CodeCommit リポジトリのプルリクエストを操作する - AWS CodeCommit

AWS CodeCommit リポジトリのプルリクエストを操作する

プルリクエストは、お客様と他のリポジトリーユーザーが、ブランチから別のブランチへのコード変更を確認、コメント、およびマージすることができる主な方法です。プルリクエストを使用すると、わずかな変更や修正、主要な機能の追加、リリースされたソフトウェアの新しいバージョンのコード変更を共同で確認することができます。プルリクエストの考えられるワークフローを以下に示します。

MyDemoRepo という repo で働く開発者の Li Juan は、製品の今後のバージョンの新機能を開発したいと考えています。作業を本稼働環境に使用できるコードから分離するために、彼女はブランチをデフォルトブランチから作成し、それを feature-randomizationfeature と命名します。コードを書き込み、コミットし、このブランチに新機能コードをプッシュします。変更をデフォルトブランチにマージする前に、他のリポジトリーユーザーに、品質のためにコードを確認してほしいと考えます。これを行うために、プルリクエストを作成します。プルリクエストには、作業ブランチと、変更をマージする予定のコードのブランチ (この場合はデフォルトブランチ) との比較が含まれています。また、プルリクエストを承認するために指定した数のユーザーをリクエストする承認ルールを作成することもできます。また、ユーザーの承認プールを指定することもできます。他のユーザーは、自分のコードと変更内容を確認し、コメントや提案を追加します。コメントに応じてコードの変更を加えて作業ブランチを何度も更新するかもしれません。彼女の変更は、CodeCommit のブランチにプッシュするたびにプルリクエストに組み込まれます。プルリクエストが開かれている間に、意図した送信先ブランチに加えられた変更を組み込むこともできるため、ユーザーは提案されたすべての変更をコンテキストで確実に確認できます。レビュー担当者が満足し、承認ルールの条件(存在する場合)が満たされると、レビュー担当者またはレビュー担当者の 1 人がコードをマージして、プルリクエストをクローズします。


            プルリクエストの作成

プルリクエストには 2 つのブランチが必要です。レビューするコードを含む送信元ブランチと、レビュー済みのコードをマージする送信先ブランチです。送信元ブランチには、AFTER コミットが含まれています。これは、送信先ブランチにマージする変更が含まれるコミットです。送信先ブランチには、BEFORE コミットが含まれています。これは、コードの「前」の状態を表しています(プルリクエストブランチが送信先ブランチにマージされる前)。マージ戦略の選択は、CodeCommit コンソール内の送信元ブランチと送信先ブランチ間でどのようにコミットがマージされるかについての詳細に影響します。CodeCommit 内でのマージ戦略の詳細については、「プルリクエストのマージ (コンソール)」を参照してください。


            コミット前とコミット後の関係を示す、プルリクエストの送信元ブランチと送信先ブランチ

プルリクエストには、プルリクエストの作成時に送信元ブランチの先端と送信先ブランチの最新コミット間の相違点が表示されるため、ユーザーは変更を表示してコメントを追加できます。送信元ブランチへの変更をコミットしてプッシュすることによって、コメントに応じてプルリクエストに更新できます。


            プルリクエスト内の行に対するコメントの追加。

コードが確認され、承認ルールの要件(ある場合)が満たされたら、次のいずれかの方法でプルリクエストをクローズすることができます。

  • ブランチをローカルでマージし、変更をプッシュします。これによりリクエストが自動的にクローズされます。

  • AWS CodeCommit コンソールを使用して、マージせずにプルリクエストをクローズするか競合を解決し、また、競合がない場合には使用可能なマージ戦略のいずれかを使用してマージしてクローズします。

  • AWS CLI を使用する

プルリクエストを作成する前に、次の操作を実行します。

  • レビュー対象であるコードの変更をブランチ (送信元ブランチ) にコミットしてプッシュしたことを確認する。

  • 他のユーザーにプルリクエストとその変更について通知できるようにリポジトリの通知を設定する(このステップはオプションですが推奨されます)。

  • 承認ルールテンプレートを作成してリポジトリに関連付けます。これにより、コードの品質を確保するためにプルリクエストに対して承認ルールが自動的に作成されます。詳細については、「承認ルールテンプレートの操作」を参照してください。

プルリクエストは、AWS アカウントでリポジトリーユーザー用に IAM ユーザーを設定すると、さらに効果的です。どのユーザーがどのコメントを行ったかを簡単に識別できます。もう 1 つの利点は、IAM ユーザーがリポジトリへのアクセスに Git 認証情報を使用できることです。詳細については、「ステップ 1: CodeCommit の初期設定」を参照してください。フェデレーティッドアクセスユーザーを含む他の種類のユーザーとのプルリクエストを使用できます。

CodeCommit でリポジトリの他の部分を操作する方法については、「リポジトリを操作する」、「承認ルールテンプレートの操作」、「ファイルの操作」、「コミットの操作」、「ブランチの操作」および「ユーザー設定の操作」を参照してください。