]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-commit-tree.txt
The fifth batch
[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]
33e8fc87 12'git commit-tree' <tree> [(-p <parent>)...]
df45cb3e
BK
13'git commit-tree' [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...]
14 [(-F <file>)...] <tree>
15
2cf565c5
DG
16
17DESCRIPTION
18-----------
5cb545fa 19This is usually not what an end user wants to run directly. See
5162e697 20linkgit:git-commit[1] instead.
5cb545fa 21
2cf565c5 22Creates a new commit object based on the provided tree object and
96b8d93a
JH
23emits the new commit object id on stdout. The log message is read
24from the standard input, unless `-m` or `-F` options are given.
2cf565c5 25
cbdeab98
BR
26The `-m` and `-F` options can be given any number of times, in any
27order. The commit log message will be composed in the order in which
28the options are given.
29
b3bc97cb
TR
30A commit object may have any number of parents. With exactly one
31parent, it is an ordinary commit. Having more than one parent makes
32the commit a merge between several lines of history. Initial (root)
33commits have no parents.
2cf565c5
DG
34
35While a tree represents a particular directory state of a working
36directory, a commit represents that state in "time", and explains how
37to get there.
38
2de9b711 39Normally a commit would identify a new "HEAD" state, and while Git
2cf565c5 40doesn't care where you save the note about that state, in practice we
27dedf0c
JH
41tend to just write the result to the file that is pointed at by
42`.git/HEAD`, so that we can always see what the last committed
43state was.
2cf565c5
DG
44
45OPTIONS
46-------
47<tree>::
cbdeab98 48 An existing tree object.
2cf565c5 49
96b8d93a 50-p <parent>::
23f8239b 51 Each `-p` indicates the id of a parent commit object.
a6080a0a 52
96b8d93a 53-m <message>::
b4ab1980 54 A paragraph in the commit log message. This can be given more than
96b8d93a
JH
55 once and each <message> becomes its own paragraph.
56
57-F <file>::
58 Read the commit log message from the given file. Use `-` to read
cbdeab98
BR
59 from the standard input. This can be given more than once and the
60 content of each file becomes its own paragraph.
96b8d93a 61
df45cb3e 62-S[<keyid>]::
55ca3f99 63--gpg-sign[=<keyid>]::
4369d3a0 64--no-gpg-sign::
2b594bf9
MM
65 GPG-sign commits. The `keyid` argument is optional and
66 defaults to the committer identity; if specified, it must be
4369d3a0
ĐTCD
67 stuck to the option without a space. `--no-gpg-sign` is useful to
68 countermand a `--gpg-sign` option given earlier on the command line.
55ca3f99 69
2cf565c5
DG
70Commit Information
71------------------
72
73A commit encapsulates:
74
75- all parent object ids
76- author name, email and date
77- committer name and email and the commit time.
78
a82830a4 79A commit comment is read from stdin. If a changelog
0b444cdb 80entry is not provided via "<" redirection, 'git commit-tree' will just wait
df8baa42 81for one to be entered and terminated with ^D.
2cf565c5 82
788070a2 83include::date-formats.txt[]
5773c9f2 84
5dc7bcc2
JH
85Discussion
86----------
87
88include::i18n.txt[]
89
8a55caa8
JN
90FILES
91-----
92/etc/mailname
93
56ae8df5 94SEE ALSO
c1bdacf9 95--------
5162e697 96linkgit:git-write-tree[1]
bc94e586 97linkgit:git-commit[1]
2cf565c5 98
2cf565c5
DG
99GIT
100---
9e1f0a85 101Part of the linkgit:git[1] suite