mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
![Jonas Fonseca](/assets/img/avatar_default.png)
Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
107 lines
2.6 KiB
Plaintext
107 lines
2.6 KiB
Plaintext
git-commit-tree(1)
|
|
==================
|
|
|
|
NAME
|
|
----
|
|
git-commit-tree - Create a new commit object
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
'git commit-tree' <tree> [-p <parent commit>]\* < changelog
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
This is usually not what an end user wants to run directly. See
|
|
linkgit:git-commit[1] instead.
|
|
|
|
Creates a new commit object based on the provided tree object and
|
|
emits the new commit object id on stdout.
|
|
|
|
A commit object may have any number of parents. With exactly one
|
|
parent, it is an ordinary commit. Having more than one parent makes
|
|
the commit a merge between several lines of history. Initial (root)
|
|
commits have no parents.
|
|
|
|
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.
|
|
|
|
While parent object ids are provided on the command line, author and
|
|
committer information is taken from the following environment variables,
|
|
if set:
|
|
|
|
GIT_AUTHOR_NAME
|
|
GIT_AUTHOR_EMAIL
|
|
GIT_AUTHOR_DATE
|
|
GIT_COMMITTER_NAME
|
|
GIT_COMMITTER_EMAIL
|
|
GIT_COMMITTER_DATE
|
|
EMAIL
|
|
|
|
(nb "<", ">" and "\n"s are stripped)
|
|
|
|
In case (some of) these environment variables are not set, the information
|
|
is taken from the configuration items user.name and user.email, or, if not
|
|
present, system user name and fully qualified hostname.
|
|
|
|
A commit comment is read from stdin. 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 passwd(5) gecos field is longer than a giant static buffer.
|
|
Your sysadmin must hate you!::
|
|
The passwd(5) name field is longer than a giant static buffer.
|
|
|
|
Discussion
|
|
----------
|
|
|
|
include::i18n.txt[]
|
|
|
|
SEE ALSO
|
|
--------
|
|
linkgit: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 linkgit:git[1] suite
|