git-commit-tree(1)
==================

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:

	[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
--------
gitlink:git-write-tree[1]


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 gitlink:git[7] suite

