man git-commit-tree (Commandes) - Creates a new commit object

NAME

git-commit-tree - Creates a new commit object

SYNOPSIS

git-commit-tree <tree> [-p <parent commit>]* < changelog

DESCRIPTION

Creates a new commit object based on the provided tree object and emits the new commit object id on stdout. If no parent is given then it is considered to be an initial tree.

A commit object usually has 1 parent (a commit after a change) or up to 16 parents. More than one parent represents a merge of branches that led to them.

While a tree represents a particular directory state of a working directory, a commit represents that state in "time", and explains how to get there.

Normally a commit would identify a new "HEAD" state, and while git doesn't care where you save the note about that state, in practice we tend to just write the result to the file that is pointed at by .git/HEAD, so that we can always see what the last committed state was.

OPTIONS

<tree>
An existing tree object
-p <parent commit>
Each -p indicates the id of a parent commit object.

COMMIT INFORMATION

A commit encapsulates:

•
all parent object ids
•
author name, email and date
•
committer name and email and the commit time.

If not provided, "git-commit-tree" uses your name, hostname and domain to provide author and committer info. This can be overridden by either .git/config file, or using the following environment variables.

GIT_AUTHOR_NAME
GIT_AUTHOR_EMAIL
GIT_AUTHOR_DATE
GIT_COMMITTER_NAME
GIT_COMMITTER_EMAIL

(nb "<", ">" and "\n"s are stripped)

In .git/config file, the following items are used for GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL:

[user]
        name = "Your Name"
        email = "your@email.address.xz"

A commit comment is read from stdin (max 999 chars). If a changelog entry is not provided via "<" redirection, "git-commit-tree" will just wait for one to be entered and terminated with ^D.

DIAGNOSTICS

You don't exist. Go away!
The passwd(5) gecos field couldn't be read
Your parents must have hated you!
The password(5) gecos field is longer than a giant static buffer.
Your sysadmin must hate you!
The password(5) name field is longer than a giant static buffer.

SEE ALSO

AUTHOR

Written by Linus Torvalds <torvalds@osdl.org>

DOCUMENTATION

Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT

Part of the git(7) suite