table of contents
other versions
- wheezy 1:1.7.10.4-1+wheezy3
- wheezy-backports 1:1.9.1-1~bpo70+2
- jessie 1:2.1.4-2.1+deb8u2
- jessie-backports 1:2.11.0-3~bpo8+1
- testing 1:2.11.0-3
- unstable 1:2.11.0-4
- experimental 1:2.13.1+next.20170610-1
GIT-COMMIT-TREE(1) | Git Manual | GIT-COMMIT-TREE(1) |
NAME¶
git-commit-tree - Create a new commit objectSYNOPSIS¶
git commit-tree <tree> [(-p <parent>)...] < changelog git commit-tree [(-p <parent>)...] [(-m <message>)...] [(-F <file>)...] <tree>
DESCRIPTION¶
This is usually not what an end user wants to run directly. See git-commit(1) instead.OPTIONS¶
<tree>An existing tree object
-p <parent>
Each -p indicates the id of a parent
commit object.
-m <message>
A paragraph in the commig log message. This
can be given more than once and each <message> becomes its own
paragraph.
-F <file>
Read the commit log message from the given
file. Use - to read from the standard input.
COMMIT INFORMATION¶
A commit encapsulates:•all parent object ids
•author name, email and date
•committer name and email and the commit
time.
GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE EMAIL
DATE FORMATS¶
The GIT_AUTHOR_DATE, GIT_COMMITTER_DATE environment variables support the following date formats: Git internal formatIt is <unix timestamp> <timezone
offset>, where <unix timestamp> is the number of seconds since the
UNIX epoch. <timezone offset> is a positive or negative offset from UTC.
For example CET (which is 2 hours ahead UTC) is +0200.
RFC 2822
The standard email format as described by RFC
2822, for example Thu, 07 Apr 2005 22:13:13 +0200.
ISO 8601
Time and date specified by the ISO 8601
standard, for example 2005-04-07T22:13:13. The parser accepts a space instead
of the T character as well.
Note
In addition, the date part is accepted in the following formats: YYYY.MM.DD,
MM/DD/YYYY and DD.MM.YYYY.
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¶
At the core level, git is character encoding agnostic.•The pathnames recorded in the index and
in the tree objects are treated as uninterpreted sequences of non-NUL bytes.
What readdir(2) returns are what are recorded and compared with the data git
keeps track of, which in turn are expected to be what lstat(2) and creat(2)
accepts. There is no such thing as pathname encoding translation.
•The contents of the blob objects are
uninterpreted sequences of bytes. There is no encoding translation at the core
level.
•The commit log messages are
uninterpreted sequences of non-NUL bytes.
1.
git commit and git commit-tree 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 .git/config file, like this:
Commit objects created with the above setting record the value of
i18n.commitencoding in its encoding 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.
[i18n] commitencoding = ISO-8859-1
2.
git log, git show, git blame and friends look at the
encoding 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 i18n.logoutputencoding in .git/config file, like this:
If you do not have this configuration variable, the value of i18n.commitencoding
is used instead.
[i18n] logoutputencoding = ISO-8859-1
FILES¶
/etc/mailnameSEE ALSO¶
git-write-tree(1)GIT¶
Part of the git(1) suite03/19/2016 | Git 1.7.10.4 |