<a id="cli-aws-codecommit"></a>

# codecommit

## Description

This is the *CodeCommit API Reference* . This reference provides descriptions of the operations and data types for CodeCommit API along with usage examples.

You can use the CodeCommit API to work with the following objects:

Repositories, by calling the following:

* BatchGetRepositories , which returns information about one or more repositories associated with your Amazon Web Services account.
* CreateRepository , which creates an CodeCommit repository.
* DeleteRepository , which deletes an CodeCommit repository.
* GetRepository , which returns information about a specified repository.
* ListRepositories , which lists all CodeCommit repositories associated with your Amazon Web Services account.
* UpdateRepositoryDescription , which sets or updates the description of the repository.
* UpdateRepositoryEncryptionKey , which updates the Key Management Service encryption key used to encrypt and decrypt a repository.
* UpdateRepositoryName , which changes the name of the repository. If you change the name of a repository, no other users of that repository can access it until you send them the new HTTPS or SSH URL to use.

Branches, by calling the following:

* CreateBranch , which creates a branch in a specified repository.
* DeleteBranch , which deletes the specified branch in a repository unless it is the default branch.
* GetBranch , which returns information about a specified branch.
* ListBranches , which lists all branches for a specified repository.
* UpdateDefaultBranch , which changes the default branch for a repository.

Files, by calling the following:

* DeleteFile , which deletes the content of a specified file from a specified branch.
* GetBlob , which returns the base-64 encoded content of an individual Git blob object in a repository.
* GetBlobDifferences , which returns a structured, line-level diff between two blob versions in a repository, with optional surrounding context lines.
* GetFile , which returns the base-64 encoded content of a specified file.
* GetFolder , which returns the contents of a specified folder or directory.
* ListFileCommitHistory , which retrieves a list of commits and changes to a specified file.
* PutFile , which adds or modifies a single file in a specified repository and branch.

Commits, by calling the following:

* BatchGetCommits , which returns information about one or more commits in a repository.
* CreateCommit , which creates a commit for changes to a repository.
* GetCommit , which returns information about a commit, including commit messages and author and committer information.
* GetDifferences , which returns information about the differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID, or other fully qualified reference).

Merges, by calling the following:

* BatchDescribeMergeConflicts , which returns information about conflicts in a merge between commits in a repository.
* CreateUnreferencedMergeCommit , which creates an unreferenced commit between two branches or commits for the purpose of comparing them and identifying any potential conflicts.
* DescribeMergeConflicts , which returns information about merge conflicts between the base, source, and destination versions of a file in a potential merge.
* GetMergeCommit , which returns information about the merge between a source and destination commit.
* GetMergeConflicts , which returns information about merge conflicts between the source and destination branch in a pull request.
* GetMergeOptions , which returns information about the available merge options between two branches or commit specifiers.
* MergeBranchesByFastForward , which merges two branches using the fast-forward merge option.
* MergeBranchesBySquash , which merges two branches using the squash merge option.
* MergeBranchesByThreeWay , which merges two branches using the three-way merge option.

Pull requests, by calling the following:

* CreatePullRequest , which creates a pull request in a specified repository.
* CreatePullRequestApprovalRule , which creates an approval rule for a specified pull request.
* DeletePullRequestApprovalRule , which deletes an approval rule for a specified pull request.
* DescribePullRequestEvents , which returns information about one or more pull request events.
* EvaluatePullRequestApprovalRules , which evaluates whether a pull request has met all the conditions specified in its associated approval rules.
* GetCommentsForPullRequest , which returns information about comments on a specified pull request.
* GetPullRequest , which returns information about a specified pull request.
* GetPullRequestApprovalStates , which returns information about the approval states for a specified pull request.
* GetPullRequestOverrideState , which returns information about whether approval rules have been set aside (overriden) for a pull request, and if so, the Amazon Resource Name (ARN) of the user or identity that overrode the rules and their requirements for the pull request.
* ListPullRequests , which lists all pull requests for a repository.
* MergePullRequestByFastForward , which merges the source destination branch of a pull request into the specified destination branch for that pull request using the fast-forward merge option.
* MergePullRequestBySquash , which merges the source destination branch of a pull request into the specified destination branch for that pull request using the squash merge option.
* MergePullRequestByThreeWay , which merges the source destination branch of a pull request into the specified destination branch for that pull request using the three-way merge option.
* OverridePullRequestApprovalRules , which sets aside all approval rule requirements for a pull request.
* PostCommentForPullRequest , which posts a comment to a pull request at the specified line, file, or request.
* UpdatePullRequestApprovalRuleContent , which updates the structure of an approval rule for a pull request.
* UpdatePullRequestApprovalState , which updates the state of an approval on a pull request.
* UpdatePullRequestDescription , which updates the description of a pull request.
* UpdatePullRequestStatus , which updates the status of a pull request.
* UpdatePullRequestTitle , which updates the title of a pull request.

Approval rule templates, by calling the following:

* AssociateApprovalRuleTemplateWithRepository , which associates a template with a specified repository. After the template is associated with a repository, CodeCommit creates approval rules that match the template conditions on every pull request created in the specified repository.
* BatchAssociateApprovalRuleTemplateWithRepositories , which associates a template with one or more specified repositories. After the template is associated with a repository, CodeCommit creates approval rules that match the template conditions on every pull request created in the specified repositories.
* BatchDisassociateApprovalRuleTemplateFromRepositories , which removes the association between a template and specified repositories so that approval rules based on the template are not automatically created when pull requests are created in those repositories.
* CreateApprovalRuleTemplate , which creates a template for approval rules that can then be associated with one or more repositories in your Amazon Web Services account.
* DeleteApprovalRuleTemplate , which deletes the specified template. It does not remove approval rules on pull requests already created with the template.
* DisassociateApprovalRuleTemplateFromRepository , which removes the association between a template and a repository so that approval rules based on the template are not automatically created when pull requests are created in the specified repository.
* GetApprovalRuleTemplate , which returns information about an approval rule template.
* ListApprovalRuleTemplates , which lists all approval rule templates in the Amazon Web Services Region in your Amazon Web Services account.
* ListAssociatedApprovalRuleTemplatesForRepository , which lists all approval rule templates that are associated with a specified repository.
* ListRepositoriesForApprovalRuleTemplate , which lists all repositories associated with the specified approval rule template.
* UpdateApprovalRuleTemplateDescription , which updates the description of an approval rule template.
* UpdateApprovalRuleTemplateName , which updates the name of an approval rule template.
* UpdateApprovalRuleTemplateContent , which updates the content of an approval rule template.

Comments in a repository, by calling the following:

* DeleteCommentContent , which deletes the content of a comment on a commit in a repository.
* GetComment , which returns information about a comment on a commit.
* GetCommentReactions , which returns information about emoji reactions to comments.
* GetCommentsForComparedCommit , which returns information about comments on the comparison between two commit specifiers in a repository.
* PostCommentForComparedCommit , which creates a comment on the comparison between two commit specifiers in a repository.
* PostCommentReply , which creates a reply to a comment.
* PutCommentReaction , which creates or updates an emoji reaction to a comment.
* UpdateComment , which updates the content of a comment on a commit in a repository.

Tags used to tag resources in CodeCommit (not Git tags), by calling the following:

* ListTagsForResource , which gets information about Amazon Web Servicestags for a specified Amazon Resource Name (ARN) in CodeCommit.
* TagResource , which adds or updates tags for a resource in CodeCommit.
* UntagResource , which removes tags for a resource in CodeCommit.

Triggers, by calling the following:

* GetRepositoryTriggers , which returns information about triggers configured for a repository.
* PutRepositoryTriggers , which replaces all triggers for a repository and can be used to create or delete triggers.
* TestRepositoryTriggers , which tests the functionality of a repository trigger by sending data to the trigger target.

For information about how to use CodeCommit, see the [CodeCommit User Guide](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) .

## Available Commands

* [associate-approval-rule-template-with-repository](associate-approval-rule-template-with-repository.md)
* [batch-associate-approval-rule-template-with-repositories](batch-associate-approval-rule-template-with-repositories.md)
* [batch-describe-merge-conflicts](batch-describe-merge-conflicts.md)
* [batch-disassociate-approval-rule-template-from-repositories](batch-disassociate-approval-rule-template-from-repositories.md)
* [batch-get-commits](batch-get-commits.md)
* [batch-get-repositories](batch-get-repositories.md)
* [create-approval-rule-template](create-approval-rule-template.md)
* [create-branch](create-branch.md)
* [create-commit](create-commit.md)
* [create-pull-request](create-pull-request.md)
* [create-pull-request-approval-rule](create-pull-request-approval-rule.md)
* [create-repository](create-repository.md)
* [create-unreferenced-merge-commit](create-unreferenced-merge-commit.md)
* [credential-helper](credential-helper/index.md)
* [delete-approval-rule-template](delete-approval-rule-template.md)
* [delete-branch](delete-branch.md)
* [delete-comment-content](delete-comment-content.md)
* [delete-file](delete-file.md)
* [delete-pull-request-approval-rule](delete-pull-request-approval-rule.md)
* [delete-repository](delete-repository.md)
* [describe-merge-conflicts](describe-merge-conflicts.md)
* [describe-pull-request-events](describe-pull-request-events.md)
* [disassociate-approval-rule-template-from-repository](disassociate-approval-rule-template-from-repository.md)
* [evaluate-pull-request-approval-rules](evaluate-pull-request-approval-rules.md)
* [get-approval-rule-template](get-approval-rule-template.md)
* [get-blob](get-blob.md)
* [get-blob-differences](get-blob-differences.md)
* [get-branch](get-branch.md)
* [get-comment](get-comment.md)
* [get-comment-reactions](get-comment-reactions.md)
* [get-comments-for-compared-commit](get-comments-for-compared-commit.md)
* [get-comments-for-pull-request](get-comments-for-pull-request.md)
* [get-commit](get-commit.md)
* [get-differences](get-differences.md)
* [get-file](get-file.md)
* [get-folder](get-folder.md)
* [get-merge-commit](get-merge-commit.md)
* [get-merge-conflicts](get-merge-conflicts.md)
* [get-merge-options](get-merge-options.md)
* [get-pull-request](get-pull-request.md)
* [get-pull-request-approval-states](get-pull-request-approval-states.md)
* [get-pull-request-override-state](get-pull-request-override-state.md)
* [get-repository](get-repository.md)
* [get-repository-triggers](get-repository-triggers.md)
* [list-approval-rule-templates](list-approval-rule-templates.md)
* [list-associated-approval-rule-templates-for-repository](list-associated-approval-rule-templates-for-repository.md)
* [list-branches](list-branches.md)
* [list-file-commit-history](list-file-commit-history.md)
* [list-pull-requests](list-pull-requests.md)
* [list-repositories](list-repositories.md)
* [list-repositories-for-approval-rule-template](list-repositories-for-approval-rule-template.md)
* [list-tags-for-resource](list-tags-for-resource.md)
* [merge-branches-by-fast-forward](merge-branches-by-fast-forward.md)
* [merge-branches-by-squash](merge-branches-by-squash.md)
* [merge-branches-by-three-way](merge-branches-by-three-way.md)
* [merge-pull-request-by-fast-forward](merge-pull-request-by-fast-forward.md)
* [merge-pull-request-by-squash](merge-pull-request-by-squash.md)
* [merge-pull-request-by-three-way](merge-pull-request-by-three-way.md)
* [override-pull-request-approval-rules](override-pull-request-approval-rules.md)
* [post-comment-for-compared-commit](post-comment-for-compared-commit.md)
* [post-comment-for-pull-request](post-comment-for-pull-request.md)
* [post-comment-reply](post-comment-reply.md)
* [put-comment-reaction](put-comment-reaction.md)
* [put-file](put-file.md)
* [put-repository-triggers](put-repository-triggers.md)
* [tag-resource](tag-resource.md)
* [test-repository-triggers](test-repository-triggers.md)
* [untag-resource](untag-resource.md)
* [update-approval-rule-template-content](update-approval-rule-template-content.md)
* [update-approval-rule-template-description](update-approval-rule-template-description.md)
* [update-approval-rule-template-name](update-approval-rule-template-name.md)
* [update-comment](update-comment.md)
* [update-default-branch](update-default-branch.md)
* [update-pull-request-approval-rule-content](update-pull-request-approval-rule-content.md)
* [update-pull-request-approval-state](update-pull-request-approval-state.md)
* [update-pull-request-description](update-pull-request-description.md)
* [update-pull-request-status](update-pull-request-status.md)
* [update-pull-request-title](update-pull-request-title.md)
* [update-repository-description](update-repository-description.md)
* [update-repository-encryption-key](update-repository-encryption-key.md)
* [update-repository-name](update-repository-name.md)
