

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# でのブランチの比較とマージ AWS CodeCommit
<a name="how-to-compare-branches"></a>

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

**Topics**
+ [ブランチをデフォルトブランチと比較する](#how-to-compare-branches-default)
+ [2 つの特定のブランチを比較する](#how-to-compare-branches-two)
+ [2 つのブランチをマージする (AWS CLI)](#how-to-merge-branches-cli)

## ブランチをデフォルトブランチと比較する
<a name="how-to-compare-branches-default"></a>

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

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

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

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

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

## 2 つの特定のブランチを比較する
<a name="how-to-compare-branches-two"></a>

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

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

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

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

1. [**送信先**] および [**送信元**] で、比較する 2 つのブランチを選択し、[**比較**] を選択します。変更されたファイルのリストを表示するには、変更されたファイルのリストを展開します。ファイル内の変更は、並べて ([Split] ビュー) またはインラインで ([Unified] ビュー) 表示できます。
**注記**  
IAM ユーザーとしてサインインしている場合、コードやその他のコンソール設定の表示用設定を設定して保存できます。詳細については、「[ユーザー設定の操作](user-preferences.md)」を参照してください。  
![2 つのブランチ間の違いの省略表示。](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-compare-branches.png)

## 2 つのブランチをマージする (AWS CLI)
<a name="how-to-merge-branches-cli"></a>

CodeCommit リポジトリ内の 2 つのブランチをマージするには、次のいずれかのコマンドを実行して、使用可能なマージ戦略のいずれか AWS CLI を使用します。
+ 早送りマージ戦略を使用して 2 つのブランチをマージするには、[**merge-branches-by-fast-forward**](#merge-branches-by-fast-forward) コマンドを実行します。
+ スカッシュマージ戦略を使用して 2 つのブランチをマージするには、[**merge-branches-by-squash**](#merge-branches-by-squash) コマンドを実行します。
+ 3 方向マージ戦略を使用して 2 つのブランチをマージするには、[**merge-branches-by-three-way**](#merge-branches-by-three-way) コマンドを実行します。

**create-unreferenced-merge-commit** コマンドを実行して、マージをテストすることもできます。詳細については、「[プルリクエスト内の競合の解決](how-to-resolve-conflict-pull-request.md#create-unreferenced-merge-commit)」を参照してください。

**注記**  
CodeCommit で AWS CLI コマンドを使用するには、 をインストールします AWS CLI。詳細については、「[コマンドラインリファレンス](cmd-ref.md)」を参照してください。

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

1. <a name="merge-branches-by-fast-forward"></a>早送りマージ戦略を使用して 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"
   }
   ```

1. <a name="merge-branches-by-squash"></a>スカッシュマージ戦略を使用して 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"
   }
   ```

1. <a name="merge-branches-by-three-way"></a>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"
   }
   ```