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 | |
b3bc97cb TR |
26 | A commit object may have any number of parents. With exactly one |
27 | parent, it is an ordinary commit. Having more than one parent makes | |
28 | the commit a merge between several lines of history. Initial (root) | |
29 | commits have no parents. | |
2cf565c5 DG |
30 | |
31 | While a tree represents a particular directory state of a working | |
32 | directory, a commit represents that state in "time", and explains how | |
33 | to get there. | |
34 | ||
2de9b711 | 35 | Normally a commit would identify a new "HEAD" state, and while Git |
2cf565c5 | 36 | doesn't care where you save the note about that state, in practice we |
27dedf0c JH |
37 | tend to just write the result to the file that is pointed at by |
38 | `.git/HEAD`, so that we can always see what the last committed | |
39 | state was. | |
2cf565c5 DG |
40 | |
41 | OPTIONS | |
42 | ------- | |
43 | <tree>:: | |
44 | An existing tree object | |
45 | ||
96b8d93a | 46 | -p <parent>:: |
23f8239b | 47 | Each `-p` indicates the id of a parent commit object. |
a6080a0a | 48 | |
96b8d93a | 49 | -m <message>:: |
b4ab1980 | 50 | A paragraph in the commit log message. This can be given more than |
96b8d93a JH |
51 | once and each <message> becomes its own paragraph. |
52 | ||
53 | -F <file>:: | |
54 | Read the commit log message from the given file. Use `-` to read | |
55 | from the standard input. | |
56 | ||
df45cb3e | 57 | -S[<keyid>]:: |
55ca3f99 | 58 | --gpg-sign[=<keyid>]:: |
2b594bf9 MM |
59 | GPG-sign commits. The `keyid` argument is optional and |
60 | defaults to the committer identity; if specified, it must be | |
61 | stuck to the option without a space. | |
df45cb3e | 62 | |
55ca3f99 | 63 | --no-gpg-sign:: |
66948561 JH |
64 | Do not GPG-sign commit, to countermand a `--gpg-sign` option |
65 | given earlier on the command line. | |
55ca3f99 | 66 | |
2cf565c5 DG |
67 | |
68 | Commit Information | |
69 | ------------------ | |
70 | ||
71 | A commit encapsulates: | |
72 | ||
73 | - all parent object ids | |
74 | - author name, email and date | |
75 | - committer name and email and the commit time. | |
76 | ||
0734d265 | 77 | While parent object ids are provided on the command line, author and |
02783075 | 78 | committer information is taken from the following environment variables, |
0734d265 | 79 | if set: |
2cf565c5 DG |
80 | |
81 | GIT_AUTHOR_NAME | |
82 | GIT_AUTHOR_EMAIL | |
83 | GIT_AUTHOR_DATE | |
84 | GIT_COMMITTER_NAME | |
85 | GIT_COMMITTER_EMAIL | |
4e58bf97 | 86 | GIT_COMMITTER_DATE |
2cf565c5 | 87 | |
df8baa42 | 88 | (nb "<", ">" and "\n"s are stripped) |
2cf565c5 | 89 | |
0734d265 MH |
90 | In case (some of) these environment variables are not set, the information |
91 | is taken from the configuration items user.name and user.email, or, if not | |
be33414b PE |
92 | present, the environment variable EMAIL, or, if that is not set, |
93 | system user name and the hostname used for outgoing mail (taken | |
8a55caa8 JN |
94 | from `/etc/mailname` and falling back to the fully qualified hostname when |
95 | that file does not exist). | |
5773c9f2 | 96 | |
a82830a4 | 97 | A commit comment is read from stdin. If a changelog |
0b444cdb | 98 | entry is not provided via "<" redirection, 'git commit-tree' will just wait |
df8baa42 | 99 | for one to be entered and terminated with ^D. |
2cf565c5 | 100 | |
788070a2 | 101 | include::date-formats.txt[] |
5773c9f2 | 102 | |
5dc7bcc2 JH |
103 | Discussion |
104 | ---------- | |
105 | ||
106 | include::i18n.txt[] | |
107 | ||
8a55caa8 JN |
108 | FILES |
109 | ----- | |
110 | /etc/mailname | |
111 | ||
56ae8df5 | 112 | SEE ALSO |
c1bdacf9 | 113 | -------- |
5162e697 | 114 | linkgit:git-write-tree[1] |
2cf565c5 | 115 | |
2cf565c5 DG |
116 | GIT |
117 | --- | |
9e1f0a85 | 118 | Part of the linkgit:git[1] suite |