]>
Commit | Line | Data |
---|---|---|
2cf565c5 DG |
1 | git-commit-tree(1) |
2 | ================== | |
2cf565c5 DG |
3 | |
4 | NAME | |
5 | ---- | |
c3f0baac | 6 | git-commit-tree - Create a new commit object |
2cf565c5 DG |
7 | |
8 | ||
9 | SYNOPSIS | |
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 | |
17 | DESCRIPTION | |
18 | ----------- | |
5cb545fa | 19 | This is usually not what an end user wants to run directly. See |
5162e697 | 20 | linkgit:git-commit[1] instead. |
5cb545fa | 21 | |
2cf565c5 | 22 | Creates a new commit object based on the provided tree object and |
96b8d93a JH |
23 | emits the new commit object id on stdout. The log message is read |
24 | from the standard input, unless `-m` or `-F` options are given. | |
2cf565c5 | 25 | |
cbdeab98 BR |
26 | The `-m` and `-F` options can be given any number of times, in any |
27 | order. The commit log message will be composed in the order in which | |
28 | the options are given. | |
29 | ||
b3bc97cb TR |
30 | A commit object may have any number of parents. With exactly one |
31 | parent, it is an ordinary commit. Having more than one parent makes | |
32 | the commit a merge between several lines of history. Initial (root) | |
33 | commits have no parents. | |
2cf565c5 DG |
34 | |
35 | While a tree represents a particular directory state of a working | |
36 | directory, a commit represents that state in "time", and explains how | |
37 | to get there. | |
38 | ||
2de9b711 | 39 | Normally a commit would identify a new "HEAD" state, and while Git |
2cf565c5 | 40 | doesn't care where you save the note about that state, in practice we |
27dedf0c JH |
41 | tend 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 | |
43 | state was. | |
2cf565c5 DG |
44 | |
45 | OPTIONS | |
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>]:: |
2b594bf9 MM |
64 | GPG-sign commits. The `keyid` argument is optional and |
65 | defaults to the committer identity; if specified, it must be | |
66 | stuck to the option without a space. | |
df45cb3e | 67 | |
55ca3f99 | 68 | --no-gpg-sign:: |
66948561 JH |
69 | Do not GPG-sign commit, to countermand a `--gpg-sign` option |
70 | given earlier on the command line. | |
55ca3f99 | 71 | |
2cf565c5 DG |
72 | |
73 | Commit Information | |
74 | ------------------ | |
75 | ||
76 | A commit encapsulates: | |
77 | ||
78 | - all parent object ids | |
79 | - author name, email and date | |
80 | - committer name and email and the commit time. | |
81 | ||
0734d265 | 82 | While parent object ids are provided on the command line, author and |
02783075 | 83 | committer information is taken from the following environment variables, |
0734d265 | 84 | if set: |
2cf565c5 DG |
85 | |
86 | GIT_AUTHOR_NAME | |
87 | GIT_AUTHOR_EMAIL | |
88 | GIT_AUTHOR_DATE | |
89 | GIT_COMMITTER_NAME | |
90 | GIT_COMMITTER_EMAIL | |
4e58bf97 | 91 | GIT_COMMITTER_DATE |
2cf565c5 | 92 | |
df8baa42 | 93 | (nb "<", ">" and "\n"s are stripped) |
2cf565c5 | 94 | |
0734d265 MH |
95 | In case (some of) these environment variables are not set, the information |
96 | is taken from the configuration items user.name and user.email, or, if not | |
be33414b PE |
97 | present, the environment variable EMAIL, or, if that is not set, |
98 | system user name and the hostname used for outgoing mail (taken | |
8a55caa8 JN |
99 | from `/etc/mailname` and falling back to the fully qualified hostname when |
100 | that file does not exist). | |
5773c9f2 | 101 | |
a82830a4 | 102 | A commit comment is read from stdin. If a changelog |
0b444cdb | 103 | entry is not provided via "<" redirection, 'git commit-tree' will just wait |
df8baa42 | 104 | for one to be entered and terminated with ^D. |
2cf565c5 | 105 | |
788070a2 | 106 | include::date-formats.txt[] |
5773c9f2 | 107 | |
5dc7bcc2 JH |
108 | Discussion |
109 | ---------- | |
110 | ||
111 | include::i18n.txt[] | |
112 | ||
8a55caa8 JN |
113 | FILES |
114 | ----- | |
115 | /etc/mailname | |
116 | ||
56ae8df5 | 117 | SEE ALSO |
c1bdacf9 | 118 | -------- |
5162e697 | 119 | linkgit:git-write-tree[1] |
2cf565c5 | 120 | |
2cf565c5 DG |
121 | GIT |
122 | --- | |
9e1f0a85 | 123 | Part of the linkgit:git[1] suite |