]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-commit-tree.txt
Update draft release notes to 1.8.3
[thirdparty/git.git] / Documentation / git-commit-tree.txt
CommitLineData
2cf565c5
DG
1git-commit-tree(1)
2==================
2cf565c5
DG
3
4NAME
5----
c3f0baac 6git-commit-tree - Create a new commit object
2cf565c5
DG
7
8
9SYNOPSIS
10--------
7791a1d9 11[verse]
96b8d93a 12'git commit-tree' <tree> [(-p <parent>)...] < changelog
4b7518a4 13'git commit-tree' [(-p <parent>)...] [(-m <message>)...] [(-F <file>)...] <tree>
2cf565c5
DG
14
15DESCRIPTION
16-----------
5cb545fa 17This is usually not what an end user wants to run directly. See
5162e697 18linkgit:git-commit[1] instead.
5cb545fa 19
2cf565c5 20Creates a new commit object based on the provided tree object and
96b8d93a
JH
21emits the new commit object id on stdout. The log message is read
22from the standard input, unless `-m` or `-F` options are given.
2cf565c5 23
b3bc97cb
TR
24A commit object may have any number of parents. With exactly one
25parent, it is an ordinary commit. Having more than one parent makes
26the commit a merge between several lines of history. Initial (root)
27commits have no parents.
2cf565c5
DG
28
29While a tree represents a particular directory state of a working
30directory, a commit represents that state in "time", and explains how
31to get there.
32
2de9b711 33Normally a commit would identify a new "HEAD" state, and while Git
2cf565c5 34doesn't care where you save the note about that state, in practice we
27dedf0c
JH
35tend to just write the result to the file that is pointed at by
36`.git/HEAD`, so that we can always see what the last committed
37state was.
2cf565c5
DG
38
39OPTIONS
40-------
41<tree>::
42 An existing tree object
43
96b8d93a 44-p <parent>::
f73ae1fc 45 Each '-p' indicates the id of a parent commit object.
a6080a0a 46
96b8d93a 47-m <message>::
b4ab1980 48 A paragraph in the commit log message. This can be given more than
96b8d93a
JH
49 once and each <message> becomes its own paragraph.
50
51-F <file>::
52 Read the commit log message from the given file. Use `-` to read
53 from the standard input.
54
2cf565c5
DG
55
56Commit Information
57------------------
58
59A commit encapsulates:
60
61- all parent object ids
62- author name, email and date
63- committer name and email and the commit time.
64
0734d265 65While parent object ids are provided on the command line, author and
02783075 66committer information is taken from the following environment variables,
0734d265 67if set:
2cf565c5
DG
68
69 GIT_AUTHOR_NAME
70 GIT_AUTHOR_EMAIL
71 GIT_AUTHOR_DATE
72 GIT_COMMITTER_NAME
73 GIT_COMMITTER_EMAIL
4e58bf97 74 GIT_COMMITTER_DATE
2cf565c5 75
df8baa42 76(nb "<", ">" and "\n"s are stripped)
2cf565c5 77
0734d265
MH
78In case (some of) these environment variables are not set, the information
79is taken from the configuration items user.name and user.email, or, if not
be33414b
PE
80present, the environment variable EMAIL, or, if that is not set,
81system user name and the hostname used for outgoing mail (taken
8a55caa8
JN
82from `/etc/mailname` and falling back to the fully qualified hostname when
83that file does not exist).
5773c9f2 84
a82830a4 85A commit comment is read from stdin. If a changelog
0b444cdb 86entry is not provided via "<" redirection, 'git commit-tree' will just wait
df8baa42 87for one to be entered and terminated with ^D.
2cf565c5 88
788070a2 89include::date-formats.txt[]
5773c9f2 90
5dc7bcc2
JH
91Discussion
92----------
93
94include::i18n.txt[]
95
8a55caa8
JN
96FILES
97-----
98/etc/mailname
99
56ae8df5 100SEE ALSO
c1bdacf9 101--------
5162e697 102linkgit:git-write-tree[1]
2cf565c5 103
2cf565c5
DG
104GIT
105---
9e1f0a85 106Part of the linkgit:git[1] suite