libgit2

git_commit_amend

Version:

Amend an existing commit by replacing only non-NULL values.

This creates a new commit that is exactly the same as the old commit, except that any non-NULL values will be updated. The new commit has the same parents as the old commit.

The update_ref value works as in the regular git_commit_create(), updating the ref to point to the newly rewritten commit. If you want to amend a commit that is not currently the tip of the branch and then rewrite the following commits to reach a ref, pass this as NULL and update the rest of the commit chain and ref separately.

Unlike git_commit_create(), the author, committer, message, message_encoding, and tree parameters can be NULL in which case this will use the values from the original commit_to_amend.

All parameters have the same meanings as in git_commit_create().

See

Signature

int git_commit_amend(git_oid *id, const git_commit *commit_to_amend, const char *update_ref, const git_signature *author, const git_signature *committer, const char *message_encoding, const char *message, const git_tree *tree);

Parameters

In
id
In
commit_to_amend
const char *
In
update_ref
In
committer
const char *
In
message_encoding
const char *
In
message

Returns

int

Versions