'\" t
.\"     Title: git-commit-tree
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 06/08/2020
.\"    Manual: Git Manual
.\"    Source: Git 2.27.0.83.g0313f36c6e
.\"  Language: English
.\"
.TH "GIT\-COMMIT\-TREE" "1" "06/08/2020" "Git 2\&.27\&.0\&.83\&.g0313f36" "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
The \fB\-m\fR and \fB\-F\fR options can be given any number of times, in any order\&. The commit log message will be composed in the order in which the 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\&. This can be given more than once and the content of each file becomes its own paragraph\&.
.RE
.PP
\-S[<keyid>], \-\-gpg\-sign[=<keyid>], \-\-no\-gpg\-sign
.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\&.
\fB\-\-no\-gpg\-sign\fR
is useful 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
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\&. Fractional parts of a second will be ignored, for example
\fB2005\-04\-07T22:13:13\&.019\fR
will be treated as
\fB2005\-04\-07T22:13:13\fR\&.
.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) \fBgit-commit\fR(1)
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite
