]>
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>)...] < changelog | |
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 | 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. | |
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 | ||
35 | Normally a commit would identify a new "HEAD" state, and while Git | |
36 | doesn't care where you save the note about that state, in practice we | |
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. | |
40 | ||
41 | OPTIONS | |
42 | ------- | |
43 | <tree>:: | |
44 | An existing tree object | |
45 | ||
46 | -p <parent>:: | |
47 | Each '-p' indicates the id of a parent commit object. | |
48 | ||
49 | -m <message>:: | |
50 | A paragraph in the commit log message. This can be given more than | |
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 | ||
57 | -S[<keyid>]:: | |
58 | --gpg-sign[=<keyid>]:: | |
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. | |
62 | ||
63 | --no-gpg-sign:: | |
64 | Countermand `commit.gpgSign` configuration variable that is | |
65 | set to force each and every commit to be signed. | |
66 | ||
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 | ||
77 | While parent object ids are provided on the command line, author and | |
78 | committer information is taken from the following environment variables, | |
79 | if set: | |
80 | ||
81 | GIT_AUTHOR_NAME | |
82 | GIT_AUTHOR_EMAIL | |
83 | GIT_AUTHOR_DATE | |
84 | GIT_COMMITTER_NAME | |
85 | GIT_COMMITTER_EMAIL | |
86 | GIT_COMMITTER_DATE | |
87 | ||
88 | (nb "<", ">" and "\n"s are stripped) | |
89 | ||
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 | |
92 | present, the environment variable EMAIL, or, if that is not set, | |
93 | system user name and the hostname used for outgoing mail (taken | |
94 | from `/etc/mailname` and falling back to the fully qualified hostname when | |
95 | that file does not exist). | |
96 | ||
97 | A commit comment is read from stdin. If a changelog | |
98 | entry is not provided via "<" redirection, 'git commit-tree' will just wait | |
99 | for one to be entered and terminated with ^D. | |
100 | ||
101 | include::date-formats.txt[] | |
102 | ||
103 | Discussion | |
104 | ---------- | |
105 | ||
106 | include::i18n.txt[] | |
107 | ||
108 | FILES | |
109 | ----- | |
110 | /etc/mailname | |
111 | ||
112 | SEE ALSO | |
113 | -------- | |
114 | linkgit:git-write-tree[1] | |
115 | ||
116 | GIT | |
117 | --- | |
118 | Part of the linkgit:git[1] suite |