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

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)

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

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

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

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

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

注記

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

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

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

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

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

    例えば、 という名前のソースブランチをマージするには bugfix-1234 という名前の送信先ブランチへの preprod という名前のリポジトリ内の MyDemoRepo:

    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 という名前の送信先ブランチを持つ bugfix-quarterly という名前のリポジトリ内の MyDemoRepo:

    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 という名前の送信先ブランチを持つ bugfix-1234 という名前のリポジトリ内の MyDemoRepo:

    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" }