AWS CodeCommit でブランチを比較およびマージする - AWS CodeCommit

AWS CodeCommit でブランチを比較およびマージする

CodeCommit コンソールを使用して、CodeCommit リポジトリのブランチを比較できます。ブランチの比較により、すばやくブランチとデフォルトブランチ間の違いを表示したり、任意の 2 つのブランチ間の違いを表示できます。

ブランチをデフォルトブランチと比較する

CodeCommit コンソールを使用して、リポジトリのブランチとデフォルトブランチ間の違いをすばやく表示します。

  1. https://console.aws.amazon.com/codesuite/codecommit/home で CodeCommit コンソールを開きます。

  2. リポジトリのリストで、ブランチを比較するリポジトリの名前を選択します。

  3. ナビゲーションペインで、[コミット]、[コミットの比較] タブの順に選択します。

  4. [送信先] で、デフォルトブランチの名前を選択します。[送信元] で、デフォルトブランチと比較するブランチを選択します。[Compare] を選択します。

2 つの特定のブランチを比較する

CodeCommit コンソールを使用して、比較する 2 つのブランチ間の違いを表示します。

  1. https://console.aws.amazon.com/codesuite/codecommit/home で CodeCommit コンソールを開きます。

  2. リポジトリのリストで、ブランチを比較するリポジトリの名前を選択します。

  3. ナビゲーションペインで、[コミット]、[コミットの比較] タブの順に選択します。

  4. [送信先] および [送信元] で、比較する 2 つのブランチを選択し、[比較] を選択します。変更されたファイルのリストを表示するには、変更されたファイルのリストを展開します。ファイル内の変更は、並べて ([Split] ビュー) またはインラインで ([Unified] ビュー) 表示できます。

    注記

    IAM ユーザーとしてサインインしている場合、コードやその他のコンソール設定の表示用設定を設定して保存できます。詳細については、「ユーザー設定の操作」を参照してください。

    
                        2 つのブランチ間の違いの省略表示。

2 つのブランチをマージする (AWS CLI)

AWS CLI を使用して、CodeCommit リポジトリの 2 つのブランチをマージできます。次のいずれかのコマンドを実行して、使用可能なマージ戦略の 1 つを使用します。

  • 早送りマージ戦略を使用して 2 つのブランチをマージするには、merge-branches-by-fast-forward コマンドを実行します。

  • スカッシュマージ戦略を使用して 2 つのブランチをマージするには、merge-branches-by-squash コマンドを実行します。

  • 3 方向マージ戦略を使用して 2 つのブランチをマージするには、merge-branches-by-three-way コマンドを実行します。

create-unreferenced-merge-commit コマンドを実行して、マージをテストすることもできます。詳細については、「プルリクエスト内の競合の解決」を参照してください。

注記

CodeCommit で AWS CLI コマンドを使用するには、AWS CLI をインストールします。詳細については、「コマンドラインリファレンス」を参照してください。

AWS CLI を使用して CodeCommit リポジトリの 2 つのブランチをマージするには

  1. 早送りマージ戦略を使用して 2 つのブランチをマージするには、以下を指定して merge-branches-by-fast-forward コマンドを実行します。

    • マージする変更を含む送信元ブランチの名前 (--source-commit-specifier オプションで指定)。

    • 変更をマージする送信先ブランチの名前 (--destination-commit-specifier オプションで指定)。

    • レポジトリの名前 (--repository-name オプションを指定)。

    例えば、bugfix-1234 という名前の送信元ブランチを、MyDemoRepo という名前のリポジトリの preprod という名前の送信先ブランチにマージするには、次のようにします。

    aws codecommit merge-branches-by-fast-forward --source-commit-specifier bugfix-bug1234 --destination-commit-specifier preprod --repository-name MyDemoRepo

    このコマンドが正常に実行されると、次のような出力が生成されます。

    { "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }
  2. スカッシュマージ戦略を使用して 2 つのブランチをマージするには、以下を指定して merge-branches-by-squash コマンドを実行します。

    • マージする変更を含む送信元ブランチの名前 (--source-commit-specifier オプションで指定)。

    • 変更をマージする送信先ブランチの名前 (--destination-commit-specifier オプションで指定)。

    • レポジトリの名前 (--repository-name オプションを指定)。

    • 含めるコミットメッセージ (--commit-message オプションを指定)。

    • コミットに使用する名前 (--name オプションを指定)。

    • コミットに使用する E メールアドレス (--email オプションを指定)。

    たとえば、bugfix-bug1234 という名前の送信元ブランチを MyDemoRepo という名前のリポジトリの bugfix-quarterly という名前の送信先ブランチにマージするには、次のようにします。

    aws codecommit merge-branches-by-squash --source-commit-specifier bugfix-bug1234 --destination-commit-specifier bugfix-quarterly --author-name "Maria Garcia" --email "maria_garcia@example.com" --commit-message "Merging in fix branches to prepare for a general patch." --repository-name MyDemoRepo

    このコマンドが正常に実行されると、次のような出力が生成されます。

    { "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }
  3. 3 方向マージ戦略を使用して 2 つのブランチをマージするには、以下を指定して merge-branches-by-three-way コマンドを実行します。

    • マージする変更を含む送信元ブランチの名前 (--source-commit-specifier オプションで指定)。

    • 変更をマージする送信先ブランチの名前 (--destination-commit-specifier オプションで指定)。

    • レポジトリの名前 (--repository-name オプションを指定)。

    • 含めるコミットメッセージ (--commit-message オプションを指定)。

    • コミットに使用する名前 (--name オプションを指定)。

    • コミットに使用する E メールアドレス (--email オプションを指定)。

    例えば、main という名前の送信元ブランチを、MyDemoRepo という名前のリポジトリの bugfix-1234 という名前の送信先ブランチにマージするには、次のようにします。

    aws codecommit merge-branches-by-three-way --source-commit-specifier main --destination-commit-specifier bugfix-bug1234 --author-name "Jorge Souza" --email "jorge_souza@example.com" --commit-message "Merging changes from main to bugfix branch before additional testing." --repository-name MyDemoRepo

    このコマンドが正常に実行されると、次のような出力が生成されます。

    { "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE" }