Skip to main content

Commits

Reference documentation for GraphQL schema types in the Commits category.

Mutations

createCommitOnBranch

Mutation

Appends a commit to the given branch as the authenticated user.

This mutation creates a commit whose parent is the HEAD of the provided branch and also updates that branch to point to the new commit. It can be thought of as similar to git commit.

Locating a Branch

Commits are appended to a branch of type Ref. This must refer to a git branch (i.e. the fully qualified path must begin with refs/heads/, although including this prefix is optional.

Callers may specify the branch to commit to either by its global node ID or by passing both of repositoryNameWithOwner and refName. For more details see the documentation for CommittableBranch.

Describing Changes

fileChanges are specified as a FilesChanges object describing FileAdditions and FileDeletions.

Please see the documentation for FileChanges for more information on how to use this argument to describe any set of file changes.

Authorship

Similar to the web commit interface, this mutation does not support specifying the author or committer of the commit and will not add support for this in the future.

A commit created by a successful execution of this mutation will be authored by the owner of the credential which authenticates the API request. The committer will be identical to that of commits authored using the web interface.

If you need full control over author and committer information, please use the Git Database REST API instead.

Commit Signing

Commits made using this mutation are automatically signed by GitHub if supported and will be marked as verified in the user interface.

Input fields for createCommitOnBranch

Return fields for createCommitOnBranch

NameDescription

clientMutationId (String)

A unique identifier for the client performing the mutation.

commit (Commit)

The new commit.

ref (Ref)

The ref which has been updated to point to the new commit.

Objects

Commit

Object

Represents a Git commit.

Commit Implements

Fields for Commit

NameDescription

abbreviatedOid (String!)

An abbreviated version of the Git object ID.

additions (Int!)

The number of additions in this commit.

associatedPullRequests (PullRequestConnection)

The merged Pull Request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open Pull Requests associated with the commit.

Arguments for associatedPullRequests

  • after (String)

    Returns the elements in the list that come after the specified cursor.

  • before (String)

    Returns the elements in the list that come before the specified cursor.

  • first (Int)

    Returns the first n elements from the list.

  • last (Int)

    Returns the last n elements from the list.

author (GitActor)

Authorship details of the commit.

authoredByCommitter (Boolean!)

Check if the committer and the author match.

authoredDate (DateTime!)

The datetime when this commit was authored.

authors (GitActorConnection!)

The list of authors for this commit based on the git author and the Co-authored-by message trailer. The git author will always be first.

Arguments for authors

  • after (String)

    Returns the elements in the list that come after the specified cursor.

  • before (String)

    Returns the elements in the list that come before the specified cursor.

  • first (Int)

    Returns the first n elements from the list.

  • last (Int)

    Returns the last n elements from the list.

blame (Blame!)

Fetches git blame information.

Arguments for blame

  • path (String!)

    The file whose Git blame information you want.

changedFiles (Int!)

We recommend using the changedFilesIfAvailable field instead of changedFiles, as changedFiles will cause your request to return an error if GitHub is unable to calculate the number of changed files.

Warning

changedFiles is deprecated.

changedFiles will be removed. Use changedFilesIfAvailable instead. Removal on 2023-01-01 UTC.

changedFilesIfAvailable (Int)

The number of changed files in this commit. If GitHub is unable to calculate the number of changed files (for example due to a timeout), this will return null. We recommend using this field instead of changedFiles.

checkSuites (CheckSuiteConnection)

The check suites associated with a commit.

Arguments for checkSuites

  • after (String)

    Returns the elements in the list that come after the specified cursor.

  • before (String)

    Returns the elements in the list that come before the specified cursor.

  • first (Int)

    Returns the first n elements from the list.

  • last (Int)

    Returns the last n elements from the list.

comments (CommitCommentConnection!)

Comments made on the commit.

Arguments for comments

  • after (String)

    Returns the elements in the list that come after the specified cursor.

  • before (String)

    Returns the elements in the list that come before the specified cursor.

  • first (Int)

    Returns the first n elements from the list.

  • last (Int)

    Returns the last n elements from the list.

commitResourcePath (URI!)

The HTTP path for this Git object.

commitUrl (URI!)

The HTTP URL for this Git object.

committedDate (DateTime!)

The datetime when this commit was committed.

committedViaWeb (Boolean!)

Check if committed via GitHub web UI.

committer (GitActor)

Committer details of the commit.

deletions (Int!)

The number of deletions in this commit.

deployments (DeploymentConnection)

The deployments associated with a commit.

Arguments for deployments

  • after (String)

    Returns the elements in the list that come after the specified cursor.

  • before (String)

    Returns the elements in the list that come before the specified cursor.

  • environments ([String!])

    Environments to list deployments for.

  • first (Int)

    Returns the first n elements from the list.

  • last (Int)

    Returns the last n elements from the list.

  • orderBy (DeploymentOrder)

    Ordering options for deployments returned from the connection.

file (TreeEntry)

The tree entry representing the file located at the given path.

Arguments for file

  • path (String!)

    The path for the file.

history (CommitHistoryConnection!)

The linear commit history starting from (and including) this commit, in the same order as git log.

Arguments for history

  • after (String)

    Returns the elements in the list that come after the specified cursor.

  • author (CommitAuthor)

    If non-null, filters history to only show commits with matching authorship.

  • before (String)

    Returns the elements in the list that come before the specified cursor.

  • first (Int)

    Returns the first n elements from the list.

  • last (Int)

    Returns the last n elements from the list.

  • path (String)

    If non-null, filters history to only show commits touching files under this path.

  • since (GitTimestamp)

    Allows specifying a beginning time or date for fetching commits. Unexpected results may be returned for dates not between 1970-01-01 and 2099-12-13 (inclusive).

  • until (GitTimestamp)

    Allows specifying an ending time or date for fetching commits. Unexpected results may be returned for dates not between 1970-01-01 and 2099-12-13 (inclusive).

id (ID!)

The Node ID of the Commit object.

message (String!)

The Git commit message.

messageBody (String!)

The Git commit message body.

messageBodyHTML (HTML!)

The commit message body rendered to HTML.

messageHeadline (String!)

The Git commit message headline.