'\" t
.\"     Title: git-commit-tree
.\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
.\"      Date: 2025-09-15
.\"    Manual: Git Manual
.\"    Source: Git 2.51.0.268.ga483264b01
.\"  Language: English
.\"
.TH "GIT\-COMMIT\-TREE" "1" "2025-09-15" "Git 2\&.51\&.0\&.268\&.ga48326" "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
.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 \&.\fBgit/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 and \fBGIT_COMMITTER_DATE\fR environment variables support the following date formats:
.PP
Git internal format
.RS 4
It is
\fI<unix\-timestamp>\fR
\fI<time\-zone\-offset>\fR, where
\fI<unix\-timestamp>\fR
is the number of seconds since the UNIX epoch\&.
\fI<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 date format as described by RFC 2822, for example
\fBThu\fR,
\fB07\fR
\fBApr\fR
\fB2005\fR
\fB22:13:13\fR
\fB+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 (\&.\fBgit/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
.\}
\fBgit\fR
\fBcommit\fR
and
\fBgit\fR
\fBcommit\-tree\fR
issue 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
\fBi18n\&.commitEncoding\fR
in \&.\fBgit/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 their
\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
.\}
\fBgit\fR
\fBlog\fR,
\fBgit\fR
\fBshow\fR,
\fBgit\fR
\fBblame\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 \&.\fBgit/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
