

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

# でコミットの詳細を表示する AWS CodeCommit
<a name="how-to-view-commit-details"></a>

 AWS CodeCommit コンソールを使用して、リポジトリ内のコミットの履歴を参照できます。これにより、リポジトリに加えられた変更を特定しやすくなります。変更内容には、以下を含みます。
+ 変更日時および変更者。
+ 特定のコミットがブランチにマージされた日時。

ブランチのコミット履歴を表示すると、ブランチ間の相違点を把握しやすくなります。タグ付けを使用する場合は、タグでラベル付けられたコミットや、そのタグが付いたコミットの親をすばやく表示できます。コマンドラインで Git を使用し、ローカルリポジトリや CodeCommit リポジトリのコミットに関する詳細を表示できます。

## リポジトリのコミットの参照
<a name="how-to-view-commit-details-console"></a>

 AWS CodeCommit コンソールを使用して、リポジトリへのコミットの履歴を参照できます。また、リポジトリ内のコミットとそのブランチのグラフを時系列表示することもできます。これにより、変更日時など、リポジトリの履歴を理解しやすくなります。

**注記**  
**git rebase** コマンドを使用してリポジトリをリベースすると、リポジトリの履歴が変更されます。これにより、コミットの順番が入れ替わることがあります。詳細については、「[Git でのブランチ作成からリベースまで](https://git-scm.com/book/en/v2/Git-Branching-Rebasing)」または Git のドキュメントを参照してください。

**Topics**
+ [リポジトリのコミット履歴を参照する](#how-to-view-commit-details-console-history)
+ [リポジトリのコミット履歴のグラフを表示する](#how-to-view-commit-details-console-visualizer)

### リポジトリのコミット履歴を参照する
<a name="how-to-view-commit-details-console-history"></a>

コミッターやコミットメッセージに関する情報を含め、リポジトリの特定のブランチまたはタグのコミット履歴を閲覧できます。コミットのコードを表示することもできます。

**コミットの履歴を参照するには**

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

1. [**Repositories (リポジトリ)**] で、コミット履歴を確認するリポジトリを選択します。

1. ナビゲーションペインで、[**Commits**] を選択します。コミット履歴の表示では、リポジトリのコミット履歴がデフォルトのブランチに、コミット日の新しい順で表示されます。日付と時刻は協定世界時 (UTC) 表示されます。別のブランチのコミット履歴を表示するには、ビューセレクタボタンを選択後、リストからブランチを選択します。リポジトリでタグを使用している場合は、ビューセレクタボタンのタグを選択して、特定のタグが付けられたコミット、およびその親を表示できます。  
![\[コンソールでのコミット表示\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-commit-list.png)

1. コミットとその親の違いを表示し、変更に関するコメントを確認するには、省略されたコミット ID を選択します。詳細については、「[コミットをその親と比較する](how-to-compare-commits.md#how-to-compare-commits-parent)」および「[コミットについてコメントする](how-to-commit-comment.md)」を参照してください。コミットと、それ以外のコミット指定子 (例: ブランチ、タグ、コミット ID) の違いを表示するには、「[2 つのコミット指定子を比較](how-to-compare-commits.md#how-to-compare-commits-compare)」を参照してください。

1. 次の 1 つ以上の操作を行います。
   + 変更の日時を表示するには、コミットの日付の上にマウスカーソルを置きます。
   + フルコミット ID を表示するには、コピーして、テキストエディタまたは他の場所に貼り付けます。コピーするには、[**Copy ID**] を選択します。
   + コミット時のコードをそのまま表示するには、[**Browse (参照)**] を選択します。コミット時のリポジトリの内容が [**Code**] ビューに表示されます。ビューセレクタボタンを選択すると、ブランチまたはタグではなく、省略されたコミット ID が表示されます。

### リポジトリのコミット履歴のグラフを表示する
<a name="how-to-view-commit-details-console-visualizer"></a>

リポジトリのコミット履歴のグラフを表示できます。[**Commit Visualizer**] ビューは、リポジトリのブランチに対するすべてのコミットの Directed Acyclic Graph (DAG) を表したものです。この図は、コミットや関連機能が追加またはマージされたタイミングを理解するのに役立ちます。また、他の変更との前後関係を指定しやすくなります。

**注記**  
早送りメソッドを使用してマージされたコミットは、コミットのグラフに別々の行として表示されません。

**コミットのグラフを表示するには**

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

1. [**Repositories (リポジトリ)**] で、コミットのグラフを表示するリポジトリを選択します。

1. ナビゲーションペインで [**Commits (コミット)**] を選択し、[**Commit visualizer**] を選択します。  
![\[コンソールでのリポジトリのグラフィカルな表示\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-cv-complex1.png)

   コミットのグラフにおいて、各コミットメッセージの省略されたコミット ID と件名は、グラフの該当場所の横に表示されます。
**注記**  
グラフは、1 ページに 35 ブランチまで表示できます。ブランチが 36 以上存在する場合は、グラフが複雑になるため表示できません。次の 2 つの方法でシンプルに表示することができます。  
ビューセレクタボタンを使用して、特定のブランチのグラフを表示します。
フルコミット ID を検索ボックスに貼り付けて、グラフをコミットからレンダリングします。

1. コミットから新しいグラフをレンダリングするには、そのコミットに対応するグラフ内のポイントを選択します。ビューセレクタボタンは、省略されたコミット ID に変更されています。  
![\[特定のコミットからレンダリングされた新しいグラフ\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-cv-commit.png)

## コミットの詳細を表示する (AWS CLI)
<a name="how-to-view-commit-details-cli"></a>

Git を使用して、コミットに関する詳細を表示できます。を使用して AWS CLI 、次のコマンドを実行して、ローカルリポジトリまたは CodeCommit リポジトリのコミットに関する詳細を表示することもできます。
+ コミットに関する情報を表示するには、**[aws codecommit get-commit](#how-to-view-commit-details-cli-commit)** を実行します。
+ 複数のコミットに関する情報を表示するには、**[aws codecommit batch-get-commits](#how-to-view-commit-details-cli-batch-get-commits)** を実行します。
+ マージコミットに関する情報を表示するには、**[aws codecommit get-merge-commit](#how-to-view-commit-details-cli-merge-commit)** を実行します。
+ コミット指定子の変更に関する情報（ブランチ、タグ、HEAD または コミット ID などのその他の完全に修飾されたリファレンス）を表示するには、**[aws codecommit get-differences](#how-to-view-commit-details-cli-differences)** を実行します。
+ base64 でエンコードされたリポジトリの Git blob オブジェクトのコンテンツを表示するには、**[aws codecommit get-blob](#how-to-view-commit-details-cli-blob)** を実行します。

### コミットに関する情報を表示するには
<a name="how-to-view-commit-details-cli-commit"></a>

1. 次のように指定して **aws codecommit get-commit** コマンドを実行します。
   + CodeCommit リポジトリの名前 (`--repository-name` オプション)。
   + フルコミット ID。

   例えば、`MyDemoRepo` という名前の CodeCommit リポジトリで ID が `317f8570EXAMPLE` のコミットに関する詳細を表示するには、次のようにします。

   ```
   aws codecommit get-commit  --repository-name MyDemoRepo  --commit-id 317f8570EXAMPLE 
   ```

1. 正常に実行された場合、このコマンドの出力には以下が含まれます。
   + (Git に設定されている) コミットの作者に関する情報 (タイムスタンプ形式の日付および協定世界時 (UTC) オフセットなど)
   + (Git に設定されている) コミッターに関する情報 (タイムスタンプ形式の日付および協定世界時 (UTC) オフセットなど)
   + コミットが存在する Git ツリーの ID。
   + 親コミットのコミット ID。
   + コミットメッセージ。

   前述のコマンド例に基づいて、出力例をいくつか示します。

   ```
   {
       "commit": {
           "additionalData": "",
           "committer": {
               "date": "1484167798 -0800",
               "name": "Mary Major",
               "email": "mary_major@example.com"
           },
           "author": {
               "date": "1484167798 -0800",
               "name": "Mary Major",
               "email": "mary_major@example.com"
           },
           "treeId": "347a3408EXAMPLE",
           "parents": [
               "4c925148EXAMPLE"
           ],
           "message": "Fix incorrect variable name"
       }
   }
   ```

### マージコミットに関する情報を表示するには
<a name="how-to-view-commit-details-cli-merge-commit"></a>

1. 次のように指定して **get-merge-commit** コマンドを実行します。
   + マージの送信元のコミット識別子 (**--source-commit-specifier** オプションを指定)。
   + マージの送信先のコミット識別子 (**--destination-commit-specifier** オプションを指定)。
   + 使用するマージオプション (**--merge-option** オプションを指定)。
   + レポジトリの名前 (**--repository-name** オプションを指定)。

   例えば、*MyDemoRepo* というリポジトリで *THREE\$1WAY\$1MERGE* 戦略を使用して、*main* という名前の送信先ブランチと *bugfix-bug1234* という名前の送信元ブランチのマージコミットに関する情報を表示するには、次のようにします。

   ```
   aws codecommit get-merge-commit --source-commit-specifier bugfix-bug1234 --destination-commit-specifier main --merge-option THREE_WAY_MERGE --repository-name MyDemoRepo
   ```

1. 成功すると、このコマンドは次のような情報を返します。

   ```
   {
       "sourceCommitId": "c5709475EXAMPLE", 
       "destinationCommitId": "317f8570EXAMPLE", 
       "baseCommitId": "fb12a539EXAMPLE",
       "mergeCommitId": "ffc4d608eEXAMPLE"
   }
   ```

### 複数のコミットに関する情報を表示するには
<a name="how-to-view-commit-details-cli-batch-get-commits"></a>

1. 次のように指定して **batch-get-commits** コマンドを実行します。
   + CodeCommit リポジトリの名前 (`--repository-name` オプション)。
   + 情報を表示する各コミットの完全なコミット ID のリスト。

   例えば、`MyDemoRepo` という名前の CodeCommit リポジトリで ID が `317f8570EXAMPLE` および `4c925148EXAMPLE` のコミットに関する詳細を表示するには、次のようにします。

   ```
   aws codecommit batch-get-commits  --repository-name MyDemoRepo  --commit-ids 317f8570EXAMPLE 4c925148EXAMPLE
   ```

1. 正常に実行された場合、このコマンドの出力には以下が含まれます。
   + (Git に設定されている) コミットの作者に関する情報 (タイムスタンプ形式の日付および協定世界時 (UTC) オフセットなど)
   + (Git に設定されている) コミッターに関する情報 (タイムスタンプ形式の日付および協定世界時 (UTC) オフセットなど)
   + コミットが存在する Git ツリーの ID。
   + 親コミットのコミット ID。
   + コミットメッセージ。

   前述のコマンド例に基づいて、出力例をいくつか示します。

   ```
   {
       "commits": [
         {
           "additionalData": "",
           "committer": {
               "date": "1508280564 -0800",
               "name": "Mary Major",
               "email": "mary_major@example.com"
           },
           "author": {
               "date": "1508280564 -0800",
               "name": "Mary Major",
               "email": "mary_major@example.com"
           },
           "commitId": "317f8570EXAMPLE",
           "treeId": "1f330709EXAMPLE",
           "parents": [
               "6e147360EXAMPLE"
           ],
           "message": "Change variable name and add new response element"
       },
       {
           "additionalData": "",
           "committer": {
               "date": "1508280542 -0800",
               "name": "Li Juan",
               "email": "li_juan@example.com"
           },
           "author": {
               "date": "1508280542 -0800",
               "name": "Li Juan",
               "email": "li_juan@example.com"
           },
           "commitId": "4c925148EXAMPLE",
           "treeId": "1f330709EXAMPLE",
           "parents": [
               "317f8570EXAMPLE"
           ],
           "message": "Added new class"
       }   
   }
   ```

### コミット指定子の変更に関する情報を表示するには
<a name="how-to-view-commit-details-cli-differences"></a>

1. 次のように指定して **aws codecommit get-differences** コマンドを実行します。
   + CodeCommit リポジトリの名前 (`--repository-name` オプション)。
   + 取得する情報のコミット指定子。`--after-commit-specifier` のみ必須です。`--before-commit-specifier` を指定しない場合は、`--after-commit-specifier` 時点で最新のファイルがすべて表示されます。

   例えば、`MyDemoRepo` という名前の CodeCommit リポジトリで ID が `317f8570EXAMPLE` と `4c925148EXAMPLE` のコミット間の違いに関する情報を表示するには、次のようにします。

   ```
   aws codecommit get-differences  --repository-name MyDemoRepo  --before-commit-specifier 317f8570EXAMPLE --after-commit-specifier 4c925148EXAMPLE
   ```

1. 正常に実行された場合、このコマンドの出力には以下が含まれます。
   + 変更タイプなど、変更点を示したリスト (追加は A、削除は D、変更は M)。
   + ファイル変更タイプのモード。
   + 変更を含む Git blob オブジェクトの ID。

   前述のコマンド例に基づいて、出力例をいくつか示します。

   ```
   {
       "differences": [
           {
               "afterBlob": {
                   "path": "blob.txt",
                   "blobId": "2eb4af3bEXAMPLE",
                   "mode": "100644"
               },
               "changeType": "M",
               "beforeBlob": {
                   "path": "blob.txt",
                   "blobId": "bf7fcf28fEXAMPLE",
                   "mode": "100644"
               }
           }
       ]
   }
   ```

### Git blob オブジェクトに関する情報を表示するには
<a name="how-to-view-commit-details-cli-blob"></a>

1. 次のように指定して **aws codecommit get-blob** コマンドを実行します。
   + CodeCommit リポジトリの名前 (`--repository-name` オプション)。
   + Git blob の ID (`--blob-id ` オプションを指定)。

   例えば、`MyDemoRepo` という名前の CodeCommit リポジトリで ID が `2eb4af3bEXAMPLE` の Git blob に関する詳細を表示するには、次のようにします。

   ```
   aws codecommit get-blob  --repository-name MyDemoRepo  --blob-id 2eb4af3bEXAMPLE
   ```

1. 正常に実行された場合、このコマンドの出力には以下が含まれます。
   + base64 でエンコードされた blob の内容 (通常はファイル)。

   たとえば、前のコマンドの出力は、以下のようになります。

   ```
   {
       "content": "QSBCaW5hcnkgTGFyToEXAMPLE="
   }
   ```

## コミットの詳細を表示する (Git)
<a name="how-to-view-commit-details-git"></a>

以下のステップを実行する前に、ローカルリポジトリを CodeCommit リポジトリに接続して変更をコミット済みであるものとします。手順については、「[リポジトリへの接続](how-to-connect.md)」を参照してください。

リポジトリに対する最新のコミットの変更を表示するには、**git show** コマンドを実行します。

```
git show
```

このコマンドでは、以下のような出力が生成されます。

```
commit 4f8c6f9d
Author: Mary Major <mary.major@example.com>
Date:   Mon May 23 15:56:48 2016 -0700

    Added bumblebee.txt

diff --git a/bumblebee.txt b/bumblebee.txt
new file mode 100644
index 0000000..443b974
--- /dev/null
+++ b/bumblebee.txt
@@ -0,0 +1 @@
+A bumblebee, also written bumble bee, is a member of the bee genus Bombus, in the family Apidae.
\ No newline at end of file
```

**注記**  
この例と次の例において、コミット ID は省略されています。フルコミット ID は表示されません。

発生した変更を表示するには、**git show** コマンドとコミット ID を使用します。

```
git show 94ba1e60

commit 94ba1e60
Author: John Doe <johndoe@example.com>
Date:   Mon May 23 15:39:14 2016 -0700

    Added horse.txt

diff --git a/horse.txt b/horse.txt
new file mode 100644
index 0000000..080f68f
--- /dev/null
+++ b/horse.txt
@@ -0,0 +1 @@
+The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus.
```

2 つのコミット間の違いを表示するには、2 つのコミット ID を含めて **git diff** コマンドを実行します。

```
git diff ce22850d 4f8c6f9d
```

この例では、この 2 つのコミット間の違いは、2 つのファイルが追加されたことです。このコマンドでは、以下のような出力が生成されます。

```
diff --git a/bees.txt b/bees.txt
new file mode 100644
index 0000000..cf57550
--- /dev/null
+++ b/bees.txt
@@ -0,0 +1 @@
+Bees are flying insects closely related to wasps and ants, and are known for their role in pollination and for producing honey and beeswax.
diff --git a/bumblebee.txt b/bumblebee.txt
new file mode 100644
index 0000000..443b974
--- /dev/null
+++ b/bumblebee.txt
@@ -0,0 +1 @@
+A bumblebee, also written bumble bee, is a member of the bee genus Bombus, in the family Apidae.
\ No newline at end of file
```

Git を使用してローカルリポジトリのコミットに関する詳細を表示するには、**git log** コマンドを実行します。

```
git log
```

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

```
commit 94ba1e60
Author: John Doe <johndoe@example.com>
Date:   Mon May 23 15:39:14 2016 -0700

    Added horse.txt

commit 4c925148
Author: Jane Doe <janedoe@example.com>
Date:   Mon May 22 14:54:55 2014 -0700

    Added cat.txt and dog.txt
```

コミット ID およびメッセージのみを表示するには、**git log --pretty=oneline** コマンドを実行します。

```
git log --pretty=oneline
```

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

```
94ba1e60 Added horse.txt
4c925148 Added cat.txt and dog.txt
```

他のオプションについては、Git のドキュメントを参照してください。