

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

# AWS CodeCommit リポジトリでのコミットの使用
<a name="commits"></a>

コミットは、内容のスナップショットとリポジトリの内容への変更です。ユーザーが変更をコミットし、プッシュする度に、その情報は保存し、保管されます。そのため、情報には、変更や、コミットの日付、時刻、およびコミットの一部として行われる変更をコミットしたユーザーも含まれます。コミットにタグを追加して、特定のコミットを簡単に識別することもできます。CodeCommit では、次のことが可能です。
+ コミットを確認する。
+ コミットの履歴をグラフで表示する。
+ コミットをその親または別の指定子と比較する。
+ コミットにコメントを追加し、他の人のコメントに返信する。

![\[コミットの変更された行にコメントを追加します。\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-commenting-addlinecomment.png)


コミットを CodeCommit リポジトリにプッシュする前に、ローカルコンピュータをリポジトリに接続する必要があります。最も簡単な方法については、「[Git 認証情報を使用した HTTPS ユーザーのセットアップ](setting-up-gc.md)」を参照してください。

CodeCommit でリポジトリの他の部分を操作する方法については、[ リポジトリを操作する](repositories.md)、[ファイルの操作](files.md)、[プルリクエストの操作](pull-requests.md)、[ブランチの操作](branches.md)、および [ユーザー設定の操作](user-preferences.md) を参照してください。

**Topics**
+ [でコミットを作成する AWS CodeCommit](how-to-create-commit.md)
+ [でコミットの詳細を表示する AWS CodeCommit](how-to-view-commit-details.md)
+ [でコミットを比較する AWS CodeCommit](how-to-compare-commits.md)
+ [でのコミットに関するコメント AWS CodeCommit](how-to-commit-comment.md)
+ [で Git タグを作成する AWS CodeCommit](how-to-create-tag.md)
+ [で Git タグの詳細を表示する AWS CodeCommit](how-to-view-tag-details.md)
+ [で Git タグを削除する AWS CodeCommit](how-to-delete-tag.md)

# でコミットを作成する AWS CodeCommit
<a name="how-to-create-commit"></a>

新しいリポジトリの最初のコミットを作成するときは、 AWS CLI および **put-file** コマンドを使用します。これにより、最初のコミットが作成され、新しいリポジトリのデフォルトのブランチを作成および指定することが可能になります。Git または を使用して、CodeCommit リポジトリにコミット AWS CLI を作成できます。ローカルリポジトリが CodeCommit リポジトリに接続されている場合は、Git を使用して、ローカルリポジトリから CodeCommit リポジトリにコミットをプッシュします。CodeCommit コンソールで直接コミットを作成するには、「[AWS CodeCommit リポジトリにファイルを作成または追加する](how-to-create-file.md)」および「[AWS CodeCommit リポジトリ内のファイルの内容を編集する](how-to-edit-file.md)」を参照してください。

**注記**  
ベストプラクティスとして、サポートされている最新バージョンの AWS CLI、Git、およびその他のソフトウェアを使用することをお勧めします。を使用する場合は AWS CLI、 `create-commit` コマンドを含むバージョンを使用していることを確認するために、最新バージョンがインストールされていることを確認してください。

**Topics**
+ [を使用してリポジトリの最初のコミットを作成する AWS CLI](#how-to-create-first-commit)
+ [Git クライアントを使用してコミットを作成する](#how-to-create-commit-git)
+ [を使用してコミットを作成する AWS CLI](#how-to-create-commit-cli)

## を使用してリポジトリの最初のコミットを作成する AWS CLI
<a name="how-to-create-first-commit"></a>

 AWS CLI および `put-file` コマンドを使用して、リポジトリの最初のコミットを作成できます。**put-file** を使用すると、空のリポジトリにファイルを追加する最初のコミットが作成され、指定した名前のブランチが作成されます。この新しいブランチは、リポジトリのデフォルトブランチとして指定されます。

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

## を使用してリポジトリの最初のコミットを作成するには AWS CLI


1. ローカルコンピュータで、CodeCommit リポジトリへの最初のファイルとして追加するファイルを作成します。一般的なプラクティスとして、このリポジトリの用途を他のリポジトリユーザーに説明する `README.md` マークダウンファイルを作成します。`README.md` ファイルを含めると、このファイルの内容が CodeCommit コンソールでリポジトリの [**Code**] (コード) ページの下部に自動的に表示されます。

1. ターミナルまたはコマンドラインで、**put-file** コマンドを実行し、次を指定します。
   + 最初のファイルを追加するリポジトリの名前。
   + デフォルトのブランチとして作成するブランチの名前。
   + ファイルのローカルの場所。この場所に使用される構文は、ローカルのオペレーティングシステムによって異なります。
   + 追加するファイルの名前 (リポジトリ内の更新ファイルの保存先を示すパスを含む)。
   + このファイルに関連付けるユーザー名および E メールアドレス。
   + このファイルの追加理由を説明するコミットメッセージ。

   ユーザー名、E メールアドレス、コミットメッセージは、オプションですが、他のユーザーに変更者や変更の理由を示すために役立ちます。ユーザー名を指定しない場合、CodeCommit はデフォルトで IAM ユーザー名あるいはコンソールログインの派生を作成者名として使用します。

   例えば、base 6 エンコードファイルのコンテンツ例を含む *README.md* というファイルを *MyDemoRepo* というリポジトリ (*development* ブランチ) に追加するには、次のようにします。

   ```
   aws codecommit put-file --repository-name MyDemoRepo --branch-name development --file-path README.md --file-content "EXAMPLE0123456789example0123456789EXAMPLE1" --name "Mary Major" --email "mary_major@example.com" --commit-message "I added a quick readme for our new team repository."
   ```

   成功すると、このコマンドは以下のような出力を返します。

   ```
   {
       "commitId": "724caa36EXAMPLE",
       "blobId": "a8a94062EXAMPLE",
       "treeId": "08b2fc73EXAMPLE"
   }
   ```

## Git クライアントを使用してコミットを作成する
<a name="how-to-create-commit-git"></a>

ローカルコンピュータにインストールされた Git クライアントを使用してコミットを作成してから、それらのコミットを CodeCommit リポジトリにプッシュできます。

1. 前提条件 (例: [セットアップ ](setting-up.md)) を完了します。
**重要**  
設定が完了していない場合は、Git を使用してリポジトリに対して接続やコミットを行うことはできません。

1. 正しいブランチでコミットを作成していることを確認します。使用可能なブランチのリストを表示し、現在使用するように設定されているブランチを見つけるには、**git branch** を実行します。すべてのブランチが表示されます。現在のブランチの横にはアスタリスク (`*`) が表示されます。別のブランチに切り替えるには、**git checkout *branch-name*** を実行します。これが最初のコミットである場合は、**git config ** コマンドを実行して、そのブランチに使用する名前を持つ最初のブランチを作成するように Git クライアントを設定します。例えば、デフォルトのブランチに *development* という名前を付ける場合は、次のようにします。

   ```
   git config --local init.defaultBranch development
   ```
**ヒント**  
このコマンドは、Git v.2.28 以降でのみ使用できます。  
このコマンドを実行して、新しく作成されたすべてのリポジトリについて、デフォルトのブランチ名を **development** に設定することもできます。  

   ```
   git config --global init.defaultBranch development
   ```

1. ブランチに変更を加える (ファイルの追加、変更、削除など)。

   例えば、ローカルリポジトリで、以下のテキストを含む `bird.txt` という名前のファイルを作成します。

   ```
   bird.txt
   --------
   Birds (class Aves or clade Avialae) are feathered, winged, two-legged, warm-blooded, egg-laying vertebrates.
   ```

1. **git status** を実行します。これにより、保留中のコミットに `bird.txt` がまだ含まれていないことが示されます。

   ```
   ...        
   Untracked files:
     (use "git add <file>..." to include in what will be committed)
           
           bird.txt
   ```

1. **git add bird.txt** を実行して、保留中のコミットに新しいファイルを含めます。

1. **git status** をもう一度実行すると、以下のような出力が表示されます。`bird.txt` が保留中のコミットに含まれるか、コミットのためにステージングされたことがわかります。

   ```
   ...
   Changes to be committed:
     (use "git reset HEAD <file>..." to unstage)
       
           new file:   bird.txt
   ```

1. コミットを確定するには、**git commit** オプションを指定して `-m` を実行します (例: ** git commit -m "*Adding bird.txt to the repository.*"**)。`-m` オプションを指定すると、コミットメッセージが作成されます。

1. **git status** をもう一度実行すると、以下のような出力が表示されます。コミットがローカルリポジトリから CodeCommit リポジトリにプッシュされる準備ができていることがわかります。

   ```
   ...    
   nothing to commit, working directory clean
   ```

1. ローカルリポジトリから確定したコミットを CodeCommit リポジトリにプッシュする前に、**git diff --stat *remote-name*/*branch-name*** を実行することで、プッシュしている内容を表示できます。ここで、*remote-name* はローカルリポジトリが CodeCommit リポジトリに使用するニックネームであり、*branch-name* は比較するブランチの名前です。
**ヒント**  
ニックネームを取得するには、**git remote** を実行します。ブランチ名のリストを取得するには、**git branch** を実行します。現在のブランチの横にはアスタリスク (`*`) が表示されます。**git status** を実行して、ブランチ名を取得することもできます。
**注記**  
リポジトリのクローンを作成した場合、ローカルリポジトリから見ると、*remote-name* は CodeCommit リポジトリの名前ではありません。リポジトリを複製すると、*remote-name* は自動的に `origin` に設定されます。

   たとえば、**git diff --stat origin/main** では、以下のような出力が表示されます。

   ```
   bird.txt | 1 +
   1 file changed, 1 insertion(+)
   ```

   この出力では、ローカルリポジトリを CodeCommit リポジトリに接続済みであることを前提としています。(手順については、「」を参照してください[リポジトリへの接続](how-to-connect.md)

1. コミットをローカルリポジトリから CodeCommit リポジトリにプッシュする準備ができたら、**git push *remote-name* *branch-name*** を実行します。ここで、*remote-name* は、ローカルリポジトリが CodeCommit リポジトリに使用するニックネームであり、*branch -name* は、CodeCommit リポジトリにプッシュするブランチの名前です。

   たとえば、 **git push origin main** を実行すると以下のような出力が表示されます。

   HTTPS の場合:

   ```
   Counting objects: 7, done.
   Delta compression using up to 4 threads.
   Compressing objects: 100% (4/4), done.
   Writing objects: 100% (5/5), 516 bytes | 0 bytes/s, done.
   Total 5 (delta 2), reused 0 (delta 0)
   remote:
   To https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo
       b9e7aa6..3dbf4dd main -> main
   ```

   SSH の場合:

   ```
   Counting objects: 7, done.
   Delta compression using up to 4 threads.
   Compressing objects: 100% (4/4), done.
   Writing objects: 100% (5/5), 516 bytes | 0 bytes/s, done.
   Total 5 (delta 2), reused 0 (delta 0)
   remote:
   To ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo
       b9e7aa6..3dbf4dd main -> main
   ```
**ヒント**  
`-u` オプションを **git push** に追加した場合 (例: **git push -u origin main**)、アップストリーム追跡情報が設定されているため、これ以降は **git push** を実行するだけで済みます。アップストリーム追跡情報を取得するには、**git remote show *remote-name*** (例: **git remote show origin**) を実行します。

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

## を使用してコミットを作成する AWS CLI
<a name="how-to-create-commit-cli"></a>

 AWS CLI と `create-commit` コマンドを使用して、指定されたブランチの先端にリポジトリのコミットを作成できます。非参照のマージコミットを作成して、2 つのコミット識別子のマージ結果を表すこともできます。詳細については、「[非参照コミットを作成する](how-to-resolve-conflict-pull-request.md#create-unreferenced-merge-commit)」を参照してください。

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

**コミットを作成するには**

1. ローカルコンピュータで、必要な変更を CodeCommit リポジトリに加えます。

1. ターミナルまたはコマンドラインで、**create-commit** コマンドを実行し、次を指定します。
   + 変更を加えるリポジトリ。
   + 変更を加えるブランチ。
   + ブランチに作成された最新のコミットの完全なコミット ID (ヒント、ヘッドコミット、または親コミット ID とも呼ばれます)。
   + 行った変更によってそれらのフォルダの内容が削除された場合に、空のフォルダを保持するかどうか。デフォルトでは、この値は false に設定されます。
   + 追加、変更、または削除するファイルに関する情報。
   + これらの変更に関連付けるユーザー名および E メール。
   + これらの変更を加えた理由についての説明をするコミットメッセージ。

   ユーザー名、E メールアドレス、コミットメッセージはオプションですが、他のユーザーに変更者と変更の理由について理解してもらうために便利です。ユーザー名を指定しない場合、CodeCommit はデフォルトで IAM ユーザー名あるいはコンソールログインの派生を作成者名として使用します。

   例えば、*main* ブランチの *MyDemoRepo* というリポジトリに `README.md` ファイルを追加するコミットをリポジトリに作成するには、次のようにします。ファイルの内容は Base64 にあり、「チームリポジトリへようこそ\$1」とあります。

   ```
   aws codecommit create-commit --repository-name MyDemoRepo --branch-name main --parent-commit-id 4c925148EXAMPLE --put-files "filePath=README.md,fileContent=V2VsY29tZSB0byBvdXIgdGVhbSByZXBvc2l0b3J5IQo="
   ```
**ヒント**  
親コミット ID を取得するには、[get-par](how-to-view-branch-details.md#how-to-view-branch-details-cli-details) コマンドを実行します。

   成功すると、このコマンドは以下のような出力を返します。

   ```
   {
       "commitId": "4df8b524-EXAMPLE",
       "treeId": "55b57003-EXAMPLE",
       "filesAdded": [
           {
               "blobId": "5e1c309dEXAMPLE",
               "absolutePath": "meeting.md",
               "fileMode": "NORMAL"
           }
       ],
       "filesDeleted": [],
       "filesUpdated": []
   }
   ```

   *file1.py* および *file2.py* という名前のファイルに変更を行うコミットを作成するには、ファイルの名前を *picture.png* から *image1.png* に変更し、それを *pictures* という名前のディレクトリから *images* という名前のディレクトリに移動します。次に、最新コミットの ID が *4c925148EXAMPLE* である *MyFeatureBranch* という名前のブランチの *MyDemoRepo* という名前のリポジトリにある *ExampleSolution.py* という名前のファイルを削除します。

   ```
   aws codecommit create-commit --repository-name MyDemoRepo --branch-name MyFeatureBranch --parent-commit-id 4c925148EXAMPLE --author-name "Saanvi Sarkar"
    --email "saanvi_sarkar@example.com" --commit-message "I'm creating this commit to update a variable name in a number of files."
    --keep-empty-folders false  --put-files '{"filePath": "file1.py", "fileMode": "EXECUTABLE", "fileContent": "bucket_name = sys.argv[1] region = sys.argv[2]"}'
   '{"filePath": "file2.txt", "fileMode": "NORMAL", "fileContent": "//Adding a comment to explain the variable changes in file1.py"}' '{"filePath": "images/image1.png",
   "fileMode": "NORMAL", "sourceFile": {"filePath": "pictures/picture.png", "isMove": true}}' --delete-files filePath="ExampleSolution.py"
   ```
**注記**  
**--put-files** セグメントの構文は、オペレーティングシステムによって異なります。上記の例は、Linux、macOS、Unix ユーザー、および Bash エミュレータを持つ Windows ユーザー向けに最適化されています。コマンドラインあるいは Powersell の Windows ユーザーは、このシステムに適した構文を使用する必要があります。

   成功すると、このコマンドは以下のような出力を返します。

   ```
   {
      "commitId": "317f8570EXAMPLE",
      "treeId": "347a3408EXAMPLE",
      "filesAdded": [
           {
           "absolutePath": "images/image1.png",
           "blobId": "d68ba6ccEXAMPLE",
           "fileMode": "NORMAL"
           }
       ],
       "filesUpdated": [
           {
           "absolutePath": "file1.py",
           "blobId": "0a4d55a8EXAMPLE",
           "fileMode": "EXECUTABLE"
           },
           {
           "absolutePath": "file2.txt",
           "blobId": "915766bbEXAMPLE",
           "fileMode": "NORMAL"
           }
       ],
       "filesDeleted": [
           {
           "absolutePath": "ExampleSolution.py",
           "blobId": "4f9cebe6aEXAMPLE",
           "fileMode": "EXECUTABLE"
           },
           {
           "absolutePath": "pictures/picture.png",
           "blobId": "fb12a539EXAMPLE",
           "fileMode": "NORMAL"
           }
       ]
   }
   ```

# でコミットの詳細を表示する 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 のドキュメントを参照してください。

# でコミットを比較する AWS CodeCommit
<a name="how-to-compare-commits"></a>

CodeCommit コンソールを使用すると、CodeCommit リポジトリ内のコミット指定子の違いを表示できます。コミットとその親の違いをすばやく確認できます。コミット ID を含む 2 つの参照を比較することもできます。

**Topics**
+ [コミットをその親と比較する](#how-to-compare-commits-parent)
+ [2 つのコミット指定子を比較](#how-to-compare-commits-compare)

## コミットをその親と比較する
<a name="how-to-compare-commits-parent"></a>

コミットとその親の違いをすばやく確認して、コミットメッセージ、コミッター、および変更された内容を確認できます。

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

1. [**リポジトリ**] ページで、コミットとその親の違いを表示するリポジトリを選択します。

1. ナビゲーションペインで、[**Commits**] を選択します。

1. リスト内の任意のコミットの省略コミット ID を選択します。ビューは、このコミットの詳細 (親コミットとの相違点など) を表示するように変更されます。  
![\[このコミットとその親との違いを表示するには、省略コミット ID を選択します\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-commit-changes1.png)

   変更は、並べて ([**Split**] ビュー) またはインラインで ([**Unified**] ビュー) 表示できます。空白の変更を非表示または表示することもできます。コメントを追加することもできます。詳細については、「[コミットについてコメントする](how-to-commit-comment.md)」を参照してください。
**注記**  
コードやその他のコンソール設定を表示するための設定は、変更するたびにブラウザの Cookie として保存されます。詳細については、「[ユーザー設定の操作](user-preferences.md)」を参照してください。  
![\[[統合] ビューに表示された変更 (空白の変更の非表示を有効にした状態)\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-commit-changes2c.png)  
![\[[分割] ビューに表示された変更 (行のコメントあり)\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-commenting-commenttab.png)
**注記**  
 行末のスタイル、コードエディタ、およびその他の要因によっては、行の特定の変更ではなく、行全体が追加または削除されることがあります。詳細のレベルは、**git show** または **git diff** コマンドで返されるものと一致します。

1. [**Commit Visualizer**] タブからコミットをその親と比較するには、省略コミット ID を選択します。コミットの詳細 (例: コミットとその親の間の変更) が表示されます。

## 2 つのコミット指定子を比較
<a name="how-to-compare-commits-compare"></a>

CodeCommit コンソールでは、2 つのコミット指定子の違いを表示できます。コミット指定子は、ブランチ、タグ、コミット ID などのリファレンスです。

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

1. [**リポジトリ**] ページで、コミット、ブランチ、またはタグ付きコミットを比較するリポジトリを選択します。

1. ナビゲーションペインで、[**コミット**]、[**コミットの比較**] の順に選択します。  
![\[2 つのコミット指定子を比較\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-compare-1.png)

1. ボックスを使用して、2 つのコミット指定子を比較します。
   + ブランチの先端を比較するには、リストからブランチ名を選択します。これは、比較のためにそのブランチからの最新のコミットを選択します。
   + コミットを関連する特定のタグと比較するには、リストから (ある場合) タグ名を選択します。これは、比較のためにタグ付けされたコミットを選択します。
   + 特定のコミットを比較するには、ボックスにコミット ID を入力するか、貼り付けます。完全なコミット ID を取得するには、ナビゲーションバーの [**Commits**] を選択し、リストからコミット ID をコピーします。[**コミットの比較**] ページで、テキストボックスに完全なコミット ID を貼り付け、[**Use commit ID (コミット ID の使用)**] を選択します。  
![\[ブランチ、タグ、またはコミット ID の比較\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-compare-2.png)

1. 指定子を選択した後、[**Compare**] を選択します。  
![\[2 つのブランチ間の比較表示\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-compare-branches.png)

   違いは、並べて ([**Split**] ビュー) またはインラインで ([**Unified**] ビュー) 表示できます。空白の変更を非表示または表示することもできます。

1. 比較の選択をクリアするには、[**Cancel (キャンセル)**] を選択します。

# でのコミットに関するコメント AWS CodeCommit
<a name="how-to-commit-comment"></a>

CodeCommit コンソールを使用して、リポジトリのコミットについてコメントしたり、コミットについての他のユーザーのコメントを表示してそれに返答したりすることができます。これにより、以下の点を含め、リポジトリに加えられた変更について検討しやすくなります。
+ なぜ変更が行われたか。
+ 変更がさらに必要かどうか。
+ 変更が別のブランチにマージされる必要があるか。

コメントは、コミット全体、コミット内のファイル、またはファイル内の特定の行や変更に対して行うことができます。コードの 1 行へのリンクを作成することもできます。そのためには、1 行を選択して、ブラウザに表示される URL をコピーします。

**注記**  
最良の結果を得るには、IAM ユーザーとしてサインインしているときにコメントを使用します。このコメント機能は、ルートアカウント認証情報、フェデレーティッドアクセスまたは一時的な認証情報を使用してサインインするユーザーには最適化されていません。

**Topics**
+ [リポジトリのコミットに対するコメントを表示する](#how-to-commit-comment-view-console)
+ [リポジトリのコミットに対するコメントの追加またはコメントへの応答](#how-to-commit-comment-add-console)
+ [コメントの表示、追加、更新、返信 (AWS CLI)](#how-to-commit-comment-cli)

## リポジトリのコミットに対するコメントを表示する
<a name="how-to-commit-comment-view-console"></a>

CodeCommit コンソールを使用して、コミットのコメントを表示します。

**コミットについてのコメントを表示するには**

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

1. [**リポジトリ**] で、コミットのコメントを表示するレポジトリを選択します。

1. ナビゲーションペインで、[**Commits**] を選択します。コメントを表示するコミットのコミット ID を選択します。

   そのコミットのページがコメントとともに表示されます。

## リポジトリのコミットに対するコメントの追加またはコメントへの応答
<a name="how-to-commit-comment-add-console"></a>

CodeCommit コンソールを使用して、コミットと親の比較や指定した 2 つのコミットの比較にコメントを追加することができます。また、絵文字、各自のコメント、その両方を使用してコメントに応答することもできます。

### コミットにコメントを追加したり、コメントに応答したりする (コンソール)
<a name="how-to-commit-comment-add-cpage"></a>

テキストと絵文字を使用してコミットにコメントを追加したり、コメントに応答したりできます。コメントや絵文字は、コンソールへのサインインに使用した IAM ユーザーやロールに属するものとしてマークされます。

**コミットについてのコメントの追加や返答をするには**

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

1. [**リポジトリ**] で、コミットにコメントするレポジトリを選択します。

1. ナビゲーションペインで、[**Commits**] を選択します。コメントを追加、またはコメントに返信するコミットのコミット ID を選択します。

   そのコミットのページがコメントとともに表示されます。

1. コメントを追加するには、以下のいずれかを実行します。
   + 全般的なコメントを追加するには、[**Comments on changes (変更に関するコメント)**] にコメントを入力して、[**Save (保存)**] を選択します。[マークダウン](https://en.wikipedia.org/wiki/Markdown)を使用するか、プレーンテキスト形式でコメントを入力します。  
![\[コミットの変更についての全般的なコメント。\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-commenting-changecomment.png)
   + コミット内のファイルにコメントを追加するには、ファイルの名前を見つけます。[**Comment on file (ファイルに関するコメント)**] を選択してコメントを入力し、[**保存**] を選択します。  
![\[コミット内のファイルにコメントを追加する。\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-commenting-addfilecomment.png)
   + コミット内の変更された行にコメントを追加するには、変更が表示される行に移動します。コメント用吹き出し (![\[The comment bubble icon that that indicates that you can leave a comment on that line of code.\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-commentbubble.png)) を選択してコメントを入力し、[**保存**] を選択します。  
![\[コミット内の行にコメントを追加する。\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-commenting-addlinecomment.png)
**注記**  
コメントは、保存後に編集できます。その内容を削除することもできます。コメントには、内容が削除されたことを示すメッセージが残ります。保存する前にコメントの [**Preview markdown**] モードの使用を検討してください。

1. コミットへのコメントに返信するには、[**Reply**] を選択します。絵文字を使用してコメントに返信するには、リストから目的の絵文字を選択します。1 つのコメントにつき 1 つの絵文字のみ選択できます。絵文字リアクションを変更する場合は、リストから別のリアクションを選択するか、[**なし**] を選択してリアクションを削除します。  
![\[コメントへの返信や絵文字リアクションの追加。\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-commenting-commenttab.png)

### 2 つのコミット指定子を比較する際のコメントの追加とコメントへの返答
<a name="how-to-commit-comment-console-compare"></a>

ブランチ間、タグ間、またはコミット間の比較にコメントを追加できます。

**コミット指定子の比較時にコメントの追加または返信を行うには**

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

1. [**リポジトリ**] ページで、リポジトリのリストから、コミット、ブランチ、またはタグ付きコミットを比較するリポジトリを選択します。

1. ナビゲーションペインで、[**コミット**]、[**コミットの比較**] タブの順に選択します。  
![\[2 つのコミット指定子を比較\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-compare-1.png)

1. 2 つのコミット指定子を比較するには、[**送信先**] フィールドおよび [**送信元**] フィールドを使用します。ドロップダウンリストを使用するか、コミット ID を貼り付けます。[**Compare**] を選択します。  
![\[ブランチのコミット ID 比較時のサンプル結果\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-compare-4.png)

1. 次の 1 つ以上の操作を行います。
   + ファイルまたは行にコメントを追加するには、コメント用吹き出し ![\[The comment bubble icon that that indicates that you can leave a comment on that line of code.\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-commentbubble.png) を選択します。
   + 比較された変更について全般的なコメントを追加するには、[**Comments on changes**] に移動します。

## コメントの表示、追加、更新、返信 (AWS CLI)
<a name="how-to-commit-comment-cli"></a>

コマンドの内容を表示、返信、更新、および削除するには、次のコマンドを実行します。
+ : 2 つのコミット間の比較に対するコメントを表示するには、**[get-comments-for-compared-commit](#how-to-commit-comment-cli-get-comments)** を実行します。
+ コメントの詳細を表示するには、[**get-comment**](#how-to-commit-comment-cli-get-comment-info) を実行します。
+ 作成したコメントの内容を削除するには、[**delete-comment-content**](#how-to-commit-comment-cli-commit-delete) を実行します。
+ 2 つのコミット間の比較に対するコメントを作成するには、[**post-comment-for-compared-commit**](#how-to-commit-comment-cli-comment) を実行します。
+ コメントを更新するには、[**update-comment**](#how-to-commit-comment-cli-commit-update) を実行します。
+ コメントに返信するには、[**post-comment-reply**](#how-to-commit-comment-cli-commit-reply) を実行します。
+ 絵文字を使用してコメントに返信するには、[**put-comment-reaction**](#how-to-commit-comment-cli-commit-reply-emoji) を実行します。
+ コメントへの絵文字リアクションを表示するには、[**get-comment-reactions**](#how-to-commit-comment-cli-commit-emoji-view) を実行します。

### コミットについてのコメントを表示するには
<a name="how-to-commit-comment-cli-get-comments"></a>

1. 次のように指定して **get-comments-for-compared-commit** コマンドを実行します。
   + CodeCommit リポジトリの名前 (`--repository-name` オプション)。
   + 比較の方向性を確立するためのコミット後のフルコミット ID (`--after-commit-id option` を使用)。
   + 比較の方向性を確立するためのコミット前のフルコミット ID (`--before-commit-id` オプションを使用)。
   + (オプション) 結果の次のバッチを返す列挙トークン (`--next-token` オプションを使用)。
   + (オプション) 返される結果の数を制限する負でない整数 (`--max-results` オプションを使用)。

   例えば、*MyDemoRepo* という名前のリポジトリで 2 つのコミット間の比較に対して作成されたコメントを表示するには、次の操作を行います。

   ```
   aws codecommit get-comments-for-compared-commit --repository-name MyDemoRepo --before-commit-id 6e147360EXAMPLE --after-commit-id 317f8570EXAMPLE
   ```

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

   ```
   {
      "commentsForComparedCommitData": [ 
         { 
            "afterBlobId": "1f330709EXAMPLE",
            "afterCommitId": "317f8570EXAMPLE",
            "beforeBlobId": "80906a4cEXAMPLE",
            "beforeCommitId": "6e147360EXAMPLE",
            "comments": [ 
               { 
                  "authorArn": "arn:aws:iam::111111111111:user/Li_Juan",
                  "clientRequestToken": "123Example",
                  "commentId": "ff30b348EXAMPLEb9aa670f",
                  "content": "Whoops - I meant to add this comment to the line, not the file, but I don't see how to delete it.",
                  "creationDate": 1508369768.142,
                  "deleted": false,
                  "CommentId": "123abc-EXAMPLE",
                  "lastModifiedDate": 1508369842.278,
                  "callerReactions": [],
                  "reactionCounts": 
                   {
                     "SMILE" : 6,
                     "THUMBSUP" : 1
                   }
               },
               {
                  "authorArn": "arn:aws:iam::111111111111:user/Li_Juan",
                  "clientRequestToken": "123Example",
                  "commentId": "553b509bEXAMPLE56198325",
                  "content": "Can you add a test case for this?",
                  "creationDate": 1508369612.240,
                  "deleted": false,
                  "commentId": "456def-EXAMPLE",
                  "lastModifiedDate": 1508369612.240,
                  "callerReactions": [],
                  "reactionCounts": 
                   {
                     "THUMBSUP" : 2
                   }
                }
            ],
            "location": { 
               "filePath": "cl_sample.js",
               "filePosition": 1232,
               "relativeFileVersion": "after"
            },
            "repositoryName": "MyDemoRepo"
         }
      ],
      "nextToken": "exampleToken"
   }
   ```

### コミットに対するコメントの詳細を表示するには
<a name="how-to-commit-comment-cli-get-comment-info"></a>

1. システムによって生成されたコメント ID を指定して、**get-comment** コマンドを実行します。例:

   ```
   aws codecommit get-comment --comment-id ff30b348EXAMPLEb9aa670f
   ```

1. 成功すると、このコマンドは以下のような出力を返します。

   ```
   {
      "comment": { 
         "authorArn": "arn:aws:iam::111111111111:user/Li_Juan",
         "clientRequestToken": "123Example",
         "commentId": "ff30b348EXAMPLEb9aa670f",
         "content": "Whoops - I meant to add this comment to the line, but I don't see how to delete it.",
         "creationDate": 1508369768.142,
         "deleted": false,
         "commentId": "",
         "lastModifiedDate": 1508369842.278,
         "callerReactions": [],
         "reactionCounts": 
            {
              "SMILE" : 6,
              "THUMBSUP" : 1
            }
      }
   }
   ```

### コミットに対するコメントの内容を削除するには
<a name="how-to-commit-comment-cli-commit-delete"></a>

1. システムによって生成されたコメント ID を指定して、**delete-comment-content** コマンドを実行します。例:

   ```
   aws codecommit delete-comment-content --comment-id ff30b348EXAMPLEb9aa670f
   ```
**注記**  
コメントの内容を削除できるのは、AWSCodeCommitFullAccess ポリシーが適用されているか、`DeleteCommentContent` アクセス許可が [**許可**] に設定されている場合のみです。

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

   ```
   {
      "comment": { 
         "creationDate": 1508369768.142,  
         "deleted": true,
         "lastModifiedDate": 1508369842.278,
         "clientRequestToken": "123Example",
         "commentId": "ff30b348EXAMPLEb9aa670f",
         "authorArn": "arn:aws:iam::111111111111:user/Li_Juan",
         "callerReactions": [],
         "reactionCounts": 
            {
              "CLAP" : 1
            }
      }
   }
   ```

### コミットに対するコメントを作成するには
<a name="how-to-commit-comment-cli-comment"></a>

1. 次のように指定して **post-comment-for-compared-commit** コマンドを実行します。
   + CodeCommit リポジトリの名前 (`--repository-name` オプション)。
   + 比較の方向性を確立するためのコミット後のフルコミット ID (`--after-commit-id ` オプションを使用)。
   + 比較の方向性を確立するためのコミット前のフルコミット ID (`--before-commit-id` オプションを使用)。
   + 冪等性の一意、クライアントで生成されたトークン (**--client-request-token** オプションを指定)。
   + コメントのコンテンツ (**--content** オプションを指定)。
   + コメントの配置場所に関する場所情報のリストには、以下を含みます。
     + 拡張子やサブディレクトリなど、比較されているファイルの名前 (ある場合) (**filePath** 属性を指定)。
     + 比較ファイル内の変更の行番号 (**filePosition** 属性を指定)。
     + 送信元ブランチと送信先ブランチの比較で、変更のコメントが前か後か (**relativeFileVersion** 属性を指定)。

   例えば、*「これにテストケースを追加できますか?」* というコメントを、*MyDemoRepo* という名前のリポジトリ内の 2 つのコミット間の比較における *cl\$1sample.js* ファイルの変更に対して追加するには、次のようにします。

   ```
   aws codecommit post-comment-for-compared-commit --repository-name MyDemoRepo --before-commit-id 317f8570EXAMPLE --after-commit-id 5d036259EXAMPLE --client-request-token 123Example --content "Can you add a test case for this?" --location filePath=cl_sample.js,filePosition=1232,relativeFileVersion=AFTER   
   ```

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

   ```
   { 
            "afterBlobId": "1f330709EXAMPLE",
            "afterCommitId": "317f8570EXAMPLE",
            "beforeBlobId": "80906a4cEXAMPLE",
            "beforeCommitId": "6e147360EXAMPLE",
            "comment": {
                  "authorArn": "arn:aws:iam::111111111111:user/Li_Juan",
                  "clientRequestToken": "",
                  "commentId": "553b509bEXAMPLE56198325",
                  "content": "Can you add a test case for this?",
                  "creationDate": 1508369612.203,
                  "deleted": false,
                  "commentId": "abc123-EXAMPLE",
                  "lastModifiedDate": 1508369612.203,
                  "callerReactions": [],
                  "reactionCounts": []
                },
                "location": { 
                  "filePath": "cl_sample.js",
                  "filePosition": 1232,
                  "relativeFileVersion": "AFTER"
                },
            "repositoryName": "MyDemoRepo"
    }
   ```

### コミットに対するコメントを更新するには
<a name="how-to-commit-comment-cli-commit-update"></a>

1. システムによって生成された ID と、既存のコンテンツと置き換えるコンテンツを指定して、**update-comment** コマンドを実行します。

   例えば、*「リクエストどおり修正しました。プルリクエストを更新します」* というコメントを、ID *442b498bEXAMPLE5756813* を持つコメントに追加するには、次のようにします。

   ```
   aws codecommit update-comment --comment-id 442b498bEXAMPLE5756813 --content "Fixed as requested. I'll update the pull request."  
   ```

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

   ```
   { 
       "comment": {
           "authorArn": "arn:aws:iam::111111111111:user/Li_Juan",
           "clientRequestToken": "",
           "commentId": "442b498bEXAMPLE5756813",
           "content": "Fixed as requested. I'll update the pull request.",
           "creationDate": 1508369929.783,
           "deleted": false,
           "lastModifiedDate": 1508369929.287,
           "callerReactions": [],
           "reactionCounts": 
             {
               "THUMBSUP" : 2
             }
       }
    }
   ```

### コミットに対するコメントに返信するには
<a name="how-to-commit-comment-cli-commit-reply"></a>

1. プルリクエストのコメントに応答するには、**post-comment-reply** コマンドを実行し、以下を指定します。
   + 返信したいコメントのシステム生成 ID (**--in-reply-to** オプションを指定)。
   + 冪等性の一意、クライアントで生成されたトークン (**--client-request-token** オプションを指定)。
   + 返答のコンテンツ (**--content** オプションを指定)。

    例えば、*「よく見つけましたね。削除します。」* という返答を、システムによって生成された ID が *abcd1234EXAMPLEb5678efgh* のコメントに追加するには、次のようにします。

   ```
   aws codecommit post-comment-reply --in-reply-to abcd1234EXAMPLEb5678efgh --content "Good catch. I'll remove them." --client-request-token 123Example
   ```

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

   ```
   { 
       "comment": {
           "authorArn": "arn:aws:iam::111111111111:user/Li_Juan",
           "clientRequestToken": "123Example",
           "commentId": "442b498bEXAMPLE5756813",
           "content": "Good catch. I'll remove them.",
           "creationDate": 1508369829.136,
           "deleted": false,
           "CommentId": "abcd1234EXAMPLEb5678efgh",
           "lastModifiedDate": 150836912.221,
           "callerReactions": [],
           "reactionCounts": []
       }
    }
   ```

### 絵文字を使用してコミットのコメントに返信するには
<a name="how-to-commit-comment-cli-commit-reply-emoji"></a>

1. 絵文字を使用してプルリクエストのコメントに返信したり、絵文字リアクションの値を変更したりするには、**put-comment-reaction** コマンドを実行し、以下を指定します。
   + 絵文字を使用して返信する対象のコメントの、システムによって生成された ID。
   + 追加または更新するリアクションの値。値として、サポートされている絵文字、ショートコード、Unicode 値を使用できます。<a name="emoji-reaction-table"></a>

   CodeCommit では、絵文字として以下の値がサポートされています。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/how-to-commit-comment.html)

    例えば、絵文字として*親指を上げた手*を、システムによって生成された ID が *abcd1234EXAMPLEb5678efgh* のコメントに追加するには、次のようにします。

   ```
   aws codecommit put-comment-reaction --comment-id abcd1234EXAMPLEb5678efgh --reaction-value :thumbsup: 
   ```

1. このコマンドが成功した場合、出力は生成されません。

### コメントへの絵文字リアクションを表示するには
<a name="how-to-commit-comment-cli-commit-emoji-view"></a>

1. コメントへの絵文字リアクション (これらの絵文字に反応したユーザーを含む) を表示するには、システムによって生成されたコメントの ID を指定して、**get-comment-reactions** コマンドを実行します。

    例えば、システムによって生成された ID が *abcd1234EXAMPLEb5678efgh* のコメントへの絵文字リアクションを表示するには、次のようにします。

   ```
   aws codecommit get-comment-reactions --comment-id abcd1234EXAMPLEb5678efgh 
   ```

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

   ```
   {
       "reactionsForComment": {
           [
              {
                   "reaction": {
                       "emoji:"👍",
                       "shortCode": "thumbsup",
                       "unicode": "U+1F44D"
                   },
                   "users": [
                       "arn:aws:iam::123456789012:user/Li_Juan",
                       "arn:aws:iam::123456789012:user/Mary_Major",
                       "arn:aws:iam::123456789012:user/Jorge_Souza"
                   ]
               },
               {
                   "reaction": {
                       "emoji": "👎",
                       "shortCode": "thumbsdown",
                       "unicode": "U+1F44E"
                   },
                   "users": [
                       "arn:aws:iam::123456789012:user/Nikhil_Jayashankar"
                   ]
               },
               {
                   "reaction": {
                       "emoji": "😕",
                       "shortCode": "confused",
                       "unicode": "U+1F615"
                   },
                   "users": [
                       "arn:aws:iam::123456789012:user/Saanvi_Sarkar"
                   ]
               }
           ]
       }
   }
   ```

# で Git タグを作成する AWS CodeCommit
<a name="how-to-create-tag"></a>

Git タグを使用して、他のリポジトリユーザーがその重要性を理解するのに役立つラベル付きのコミットをマークすることができます。CodeCommit リポジトリに Git タグを作成するには、CodeCommit リポジトリに接続されたローカルリポジトリから Git を使用します。ローカルリポジトリに Git タグを作成したら、**git push --tags** を使用してCodeCommit リポジトリにプッシュします。

詳細については、「[タグの詳細の表示](how-to-view-tag-details.md)」を参照してください。

## Git を使用してタグを作成する
<a name="how-to-create-tag-git"></a>

以下のステップに従い、ローカルリポジトリから Git を使用して CodeCommit リポジトリに Git タグを作成します。

これらの手順では、ローカルリポジトリが既に CodeCommit リポジトリに接続されていることを前提としています。手順については、「[リポジトリへの接続](how-to-connect.md)」を参照してください。

1. **git tag *new-tag-name* *commit-id*** コマンドを実行します。ここで、*new-tag-name* は、新しい Git タグの名前、*commit-id* は、Git タグと関連付けるコミットの ID を表します。

   たとえば、次のコマンドでは、`beta` という名前の Git タグを作成し、コミット ID (`dc082f9a...af873b88`) と関連付けます。

   ```
   git tag beta dc082f9a...af873b88
   ```

1. ローカルリポジトリから新しい Git タグを CodeCommit リポジトリにプッシュするには、**git push *remote-name* *new-tag-name*** コマンドを実行します。ここで、*remote-name* は CodeCommit の名前、*new-tag-name* は新しい Git タグの名前を表します。

   例えば、新しい Git タグ (`beta`) を CodeCommit リポジトリ (`origin`) にプッシュするには、以下のように行います。

   ```
   git push origin beta
   ```

**注記**  
すべての新しい Git タグをローカルリポジトリから CodeCommit リポジトリにプッシュするには、**git push --tags** を実行します。  
ローカルリポジトリが CodeCommit リポジトリのすべての Git タグで更新されていることを確認するには、**git fetch**、**git fetch --tags**の順に実行します。

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

# で Git タグの詳細を表示する AWS CodeCommit
<a name="how-to-view-tag-details"></a>

Git では、タグはコミットのようなリファレンスに適用できるラベルで、他のリポジトリユーザーにとって重要な情報でマークするために使用します。たとえば、プロジェクトのベータリリースポイントであったコミットに beta というタグを付けることができます。**beta**詳細については、「[Git を使用してタグを作成する](how-to-create-tag.md#how-to-create-tag-git)」を参照してください。Git タグはリポジトリタグとは異なります。リポジトリタグの使用方法について詳細は、「[リポジトリにタグを追加する](how-to-tag-repository-add.md)」を参照してください。

 AWS CodeCommit コンソールを使用して、各 Git タグによって参照されるコミットの日付やコミットメッセージなど、リポジトリ内の Git タグに関する情報を表示できます。コンソールから、タグに参照されているコミットをリポジトリのデフォルトブランチの先頭と比較することができます。他のコミットと同様に、その Git タグのポイントのコードを表示することもできます。

また、ターミナルやコマンドラインから Git を使用して、ローカルリポジトリの Git タグに関する詳細を表示することもできます。

**Topics**
+ [タグの詳細を表示する (コンソール)](#how-to-view-tag-details-console)
+ [Git タグの詳細を表示する (Git)](#how-to-view-tag-details-git)

## タグの詳細を表示する (コンソール)
<a name="how-to-view-tag-details-console"></a>

 AWS CodeCommit コンソールを使用して、リポジトリの Git タグのリストと、Git タグによって参照されるコミットの詳細をすばやく表示します。

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

1. [**Repositories (リポジトリ)**] で、タグを表示するリポジトリの名前を選択します。

1. ナビゲーションペインで、[**Git tags**] を選択します。  
![\[リポジトリ内のタグの表示。\]](http://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/images/codecommit-tags-view.png)

1. 次のいずれかを行ってください。
   + そのコミットにあるコードをそのまま表示するには、Git タグ名を選択します。
   + コミットの詳細 (コミットメッセージ全体、コミッター、作成者など) を表示するには、省略されたコミット ID を選択します。

## Git タグの詳細を表示する (Git)
<a name="how-to-view-tag-details-git"></a>

Git を使用してローカルリポジトリの Git タグに関する詳細を表示するには、以下のコマンドのいずれかを実行します。
+ [git tag](#how-to-view-tag-details-git-tag): Git タグ名の一覧を表示。
+ [git show](#how-to-view-tag-details-git-show): 特定の Git タグに関する情報を表示。
+ [git ls-remote](#how-to-view-tag-details-git-remote): CodeCommit リポジトリの Git タグに関する情報を表示。

**注記**  
ローカルリポジトリが CodeCommit リポジトリのすべての Git タグで更新されていることを確認するには、**git fetch**、**git fetch --tags**の順に実行します。

以下の手順では、ローカルリポジトリが既に CodeCommit リポジトリに接続されていることを前提としています。手順については、「[リポジトリへの接続](how-to-connect.md)」を参照してください。

### ローカルリポジトリの Git タグの一覧を表示するには
<a name="how-to-view-tag-details-git-tag"></a>

1. **git tag** コマンドを実行します。

   ```
   git tag
   ```

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

   ```
   beta
   release
   ```
**注記**  
タグが定義されていない場合、**git tag** からは何も返されません。

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

### ローカルリポジトリの Git タグに関する情報を表示するには
<a name="how-to-view-tag-details-git-show"></a>

1. **git show *tag-name*** コマンドを実行します。たとえば、`beta` という名前の Git タグに関する情報を表示するには、次のように実行します。

   ```
   git show beta
   ```

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

   ```
   commit 317f8570...ad9e3c09
   Author: John Doe <johndoe@example.com>
   Date:   Tue Sep 23 13:49:51 2014 -0700
   
       Added horse.txt
   
   diff --git a/horse.txt b/horse.txt
   new file mode 100644
   index 0000000..df42ff1
   --- /dev/null
   +++ b/horse.txt
   @@ -0,0 +1 @@
   +The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus
   \ No newline at end of file
   ```
**注記**  
Git タグ情報の出力を終了するには、「**:q**」と入力します。

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

### CodeCommit リポジトリの Git タグに関する情報を表示するには
<a name="how-to-view-tag-details-git-remote"></a>

1. **git ls-remote --tags** コマンドを実行します。

   ```
   git ls-remote --tags
   ```

1. このコマンドが正常に実行されると、CodeCommit リポジトリの Git タグ一覧が次のように出力されます。

   ```
   129ce87a...70fbffba    refs/tags/beta
   785de9bd...59b402d8    refs/tags/release
   ```

   Git タグが定義されていない場合、**git ls-remote --tags** からは空白の行が返されます。

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

# で Git タグを削除する AWS CodeCommit
<a name="how-to-delete-tag"></a>

CodeCommit リポジトリの Git タグを削除するには、CodeCommit リポジトリに接続されたローカルリポジトリから Git を使用します。

## Git を使用して Git タグを削除する
<a name="how-to-delete-tag-git"></a>

以下のステップに従い、ローカルリポジトリから Git を使用して CodeCommit リポジトリの Git タグを削除します。

これらのステップでは、ローカルリポジトリが既に CodeCommit リポジトリに接続されていることを前提としています。手順については、「[リポジトリへの接続](how-to-connect.md)」を参照してください。

1. ローカルリポジトリから Git タグを削除するには、**git tag -d *tag-name*** コマンドを実行します。ここで、*tag-name* は削除する Git タグの名前です。
**ヒント**  
Git タグ名のリストを取得するには、**git tag** を実行します。

   例えば、`beta` という名前のローカルリポジトリのタグを削除するには、次のようにします。

   ```
   git tag -d beta
   ```

1. CodeCommit リポジトリから Git タグを削除するには、**git push *remote-name* --delete *tag-name*** コマンドを実行します。ここで、*remote-name* はローカルリポジトリが CodeCommit リポジトリに使用するニックネームであり、*tag-name* は、CodeCommit から削除する Git タグの名前です。
**ヒント**  
CodeCommit リポジトリの名前と URL のリストを取得するには、**git remote -v** コマンドを実行します。

   例えば、`origin` という名前の CodeCommit リポジトリで `beta` という Git タグを削除するには、次のようにします。

   ```
   git push origin --delete beta
   ```