]>
Commit | Line | Data |
---|---|---|
1 | git-commit-tree(1) | |
2 | ================== | |
3 | ||
4 | NAME | |
5 | ---- | |
6 | git-commit-tree - Create a new commit object | |
7 | ||
8 | ||
9 | SYNOPSIS | |
10 | -------- | |
11 | [verse] | |
12 | 'git commit-tree' <tree> [(-p <parent>)...] | |
13 | 'git commit-tree' [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] | |
14 | [(-F <file>)...] <tree> | |
15 | ||
16 | ||
17 | DESCRIPTION | |
18 | ----------- | |
19 | This is usually not what an end user wants to run directly. See | |
20 | linkgit:git-commit[1] instead. | |
21 | ||
22 | Creates a new commit object based on the provided tree object and | |
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. | |
25 | ||
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 | ||
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. | |
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 | ||
39 | Normally a commit would identify a new "HEAD" state, and while Git | |
40 | doesn't care where you save the note about that state, in practice we | |
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. | |
44 | ||
45 | OPTIONS | |
46 | ------- | |
47 | <tree>:: | |
48 | An existing tree object. | |
49 | ||
50 | -p <parent>:: | |
51 | Each `-p` indicates the id of a parent commit object. | |
52 | ||
53 | -m <message>:: | |
54 | A paragraph in the commit log message. This can be given more than | |
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 | |
59 | from the standard input. This can be given more than once and the | |
60 | content of each file becomes its own paragraph. | |
61 | ||
62 | -S[<keyid>]:: | |
63 | --gpg-sign[=<keyid>]:: | |
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. | |
67 | ||
68 | --no-gpg-sign:: | |
69 | Do not GPG-sign commit, to countermand a `--gpg-sign` option | |
70 | given earlier on the command line. | |
71 | ||
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 | ||
82 | While parent object ids are provided on the command line, author and | |
83 | committer information is taken from the following environment variables, | |
84 | if set: | |
85 | ||
86 | GIT_AUTHOR_NAME | |
87 | GIT_AUTHOR_EMAIL | |
88 | GIT_AUTHOR_DATE | |
89 | GIT_COMMITTER_NAME | |
90 | GIT_COMMITTER_EMAIL | |
91 | GIT_COMMITTER_DATE | |
92 | ||
93 | (nb "<", ">" and "\n"s are stripped) | |
94 | ||
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 | |
97 | present, the environment variable EMAIL, or, if that is not set, | |
98 | system user name and the hostname used for outgoing mail (taken | |
99 | from `/etc/mailname` and falling back to the fully qualified hostname when | |
100 | that file does not exist). | |
101 | ||
102 | A commit comment is read from stdin. If a changelog | |
103 | entry is not provided via "<" redirection, 'git commit-tree' will just wait | |
104 | for one to be entered and terminated with ^D. | |
105 | ||
106 | include::date-formats.txt[] | |
107 | ||
108 | Discussion | |
109 | ---------- | |
110 | ||
111 | include::i18n.txt[] | |
112 | ||
113 | FILES | |
114 | ----- | |
115 | /etc/mailname | |
116 | ||
117 | SEE ALSO | |
118 | -------- | |
119 | linkgit:git-write-tree[1] | |
120 | ||
121 | GIT | |
122 | --- | |
123 | Part of the linkgit:git[1] suite |