'\" t
.\"     Title: git-commit-tree
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\"      Date: 02/24/2017
.\"    Manual: Git Manual
.\"    Source: Git 2.12.0
.\"  Language: English
.\"
.TH "GIT\-COMMIT\-TREE" "1" "02/24/2017" "Git 2\&.12\&.0" "Git Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-commit-tree \- Create a new commit object
.SH "SYNOPSIS"
.sp
.nf
\fIgit commit\-tree\fR <tree> [(\-p <parent>)\&...]
\fIgit commit\-tree\fR [(\-p <parent>)\&...] [\-S[<keyid>]] [(\-m <message>)\&...]
                  [(\-F <file>)\&...] <tree>
.fi
.sp
.SH "DESCRIPTION"
.sp
This is usually not what an end user wants to run directly\&. See \fBgit-commit\fR(1) instead\&.
.sp
Creates a new commit object based on the provided tree object and emits the new commit object id on stdout\&. The log message is read from the standard input, unless \fB\-m\fR or \fB\-F\fR options are given\&.
.sp
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\&.
.sp
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\&.
.sp
Normally a commit would identify a new "HEAD" state, and while Git doesn\(cqt 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 \fB\&.git/HEAD\fR, so that we can always see what the last committed state was\&.
.SH "OPTIONS"
.PP
<tree>
.RS 4
An existing tree object
.RE
.PP
\-p <parent>
.RS 4
Each
\fB\-p\fR
indicates the id of a parent commit object\&.
.RE
.PP
\-m <message>
.RS 4
A paragraph in the commit log message\&. This can be given more than once and each <message> becomes its own paragraph\&.
.RE
.PP
\-F <file>
.RS 4
Read the commit log message from the given file\&. Use
\fB\-\fR
to read from the standard input\&.
.RE
.PP
\-S[<keyid>], \-\-gpg\-sign[=<keyid>]
.RS 4
GPG\-sign commits\&. The
\fBkeyid\fR
argument is optional and defaults to the committer identity; if specified, it must be stuck to the option without a space\&.
.RE
.PP
\-\-no\-gpg\-sign
.RS 4
Do not GPG\-sign commit, to countermand a
\fB\-\-gpg\-sign\fR
option given earlier on the command line\&.
.RE
.SH "COMMIT INFORMATION"
.sp
A commit encapsulates:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
all parent object ids
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
author name, email and date
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
committer name and email and the commit time\&.
.RE
.sp
While parent object ids are provided on the command line, author and committer information is taken from the following environment variables, if set:
.sp
.if n \{\
.RS 4
.\}
.nf
GIT_AUTHOR_NAME
GIT_AUTHOR_EMAIL
GIT_AUTHOR_DATE
GIT_COMMITTER_NAME
GIT_COMMITTER_EMAIL
GIT_COMMITTER_DATE
.fi
.if n \{\
.RE
.\}
.sp
(nb "<", ">" and "\en"s are stripped)
.sp
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, the environment variable EMAIL, or, if that is not set, system user name and the hostname used for outgoing mail (taken from \fB/etc/mailname\fR and falling back to the fully qualified hostname when that file does not exist)\&.
.sp
A commit comment is read from stdin\&. If a changelog entry is not provided via "<" redirection, \fIgit commit\-tree\fR will just wait for one to be entered and terminated with ^D\&.
.SH "DATE FORMATS"
.sp
The \fBGIT_AUTHOR_DATE\fR, \fBGIT_COMMITTER_DATE\fR environment variables support the following date formats:
.PP
Git internal format
.RS 4
It is
\fB<unix timestamp> <time zone offset>\fR, where
\fB<unix timestamp>\fR
is the number of seconds since the UNIX epoch\&.
\fB<time zone offset>\fR
is a positive or negative offset from UTC\&. For example CET (which is 1 hour ahead of UTC) is
\fB+0100\fR\&.
.RE
.PP
RFC 2822
.RS 4
The standard email format as described by RFC 2822, for example
\fBThu, 07 Apr 2005 22:13:13 +0200\fR\&.
.RE
.PP
ISO 8601
.RS 4
Time and date specified by the ISO 8601 standard, for example
\fB2005\-04\-07T22:13:13\fR\&. The parser accepts a space instead of the
\fBT\fR
character as well\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBNote\fR
.ps -1
.br
In addition, the date part is accepted in the following formats:
\fBYYYY\&.MM\&.DD\fR,
\fBMM/DD/YYYY\fR
and
\fBDD\&.MM\&.YYYY\fR\&.
.sp .5v
.RE
.RE
.SH "DISCUSSION"
.sp
Git is to some extent character encoding agnostic\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The contents of the blob objects are uninterpreted sequences of bytes\&. There is no encoding translation at the core level\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Path names are encoded in UTF\-8 normalization form C\&. This applies to tree objects, the index file, ref names, as well as path names in command line arguments, environment variables and config files (\fB\&.git/config\fR
(see
\fBgit-config\fR(1)),
\fBgitignore\fR(5),
\fBgitattributes\fR(5)
and
\fBgitmodules\fR(5))\&.
.sp
Note that Git at the core level treats path names simply as sequences of non\-NUL bytes, there are no path name encoding conversions (except on Mac and Windows)\&. Therefore, using non\-ASCII path names will mostly work even on platforms and file systems that use legacy extended ASCII encodings\&. However, repositories created on such systems will not work properly on UTF\-8\-based systems (e\&.g\&. Linux, Mac, Windows) and vice versa\&. Additionally, many Git\-based tools simply assume path names to be UTF\-8 and will fail to display other encodings correctly\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Commit log messages are typically encoded in UTF\-8, but other extended ASCII encodings are also supported\&. This includes ISO\-8859\-x, CP125x and many others, but
\fInot\fR
UTF\-16/32, EBCDIC and CJK multi\-byte encodings (GBK, Shift\-JIS, Big5, EUC\-x, CP9xx etc\&.)\&.
.RE
.sp
Although we encourage that the commit log messages are encoded in UTF\-8, both the core and Git Porcelain are designed not to force UTF\-8 on projects\&. If all participants of a particular project find it more convenient to use legacy encodings, Git does not forbid it\&. However, there are a few things to keep in mind\&.
.sp
.RS 4
.ie n \{\
\h'-04' 1.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  1." 4.2
.\}
\fIgit commit\fR
and
\fIgit commit\-tree\fR
issues a warning if the commit log message given to it does not look like a valid UTF\-8 string, unless you explicitly say your project uses a legacy encoding\&. The way to say this is to have i18n\&.commitencoding in
\fB\&.git/config\fR
file, like this:
.sp
.if n \{\
.RS 4
.\}
.nf
[i18n]
        commitencoding = ISO\-8859\-1
.fi
.if n \{\
.RE
.\}
.sp
Commit objects created with the above setting record the value of
\fBi18n\&.commitencoding\fR
in its
\fBencoding\fR
header\&. This is to help other people who look at them later\&. Lack of this header implies that the commit log message is encoded in UTF\-8\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 2.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  2." 4.2
.\}
\fIgit log\fR,
\fIgit show\fR,
\fIgit blame\fR
and friends look at the
\fBencoding\fR
header of a commit object, and try to re\-code the log message into UTF\-8 unless otherwise specified\&. You can specify the desired output encoding with
\fBi18n\&.logoutputencoding\fR
in
\fB\&.git/config\fR
file, like this:
.sp
.if n \{\
.RS 4
.\}
.nf
[i18n]
        logoutputencoding = ISO\-8859\-1
.fi
.if n \{\
.RE
.\}
.sp
If you do not have this configuration variable, the value of
\fBi18n\&.commitencoding\fR
is used instead\&.
.RE
.sp
Note that we deliberately chose not to re\-code the commit log message when a commit is made to force UTF\-8 at the commit object level, because re\-coding to UTF\-8 is not necessarily a reversible operation\&.
.SH "FILES"
.sp
/etc/mailname
.SH "SEE ALSO"
.sp
\fBgit-write-tree\fR(1)
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite
