| git-commit-tree(1) | |
| ================== | |
| NAME | |
| ---- | |
| git-commit-tree - Create a new commit object | |
| SYNOPSIS | |
| -------- | |
| [verse] | |
| 'git commit-tree' <tree> [(-p <parent>)...] | |
| 'git commit-tree' [(-p <parent>)...] [-S[<keyid>]] [(-m <message>)...] | |
| [(-F <file>)...] <tree> | |
| DESCRIPTION | |
| ----------- | |
| This is usually not what an end user wants to run directly. See | |
| linkgit:git-commit[1] instead. | |
| Creates a new commit object based on the provided tree object and | |
| emits the new commit object id on stdout. The log message is read | |
| from the standard input, unless `-m` or `-F` options are given. | |
| A commit object may have any number of parents. With exactly one | |
| parent, it is an ordinary commit. Having more than one parent makes | |
| the commit a merge between several lines of history. Initial (root) | |
| commits have no parents. | |
| While a tree represents a particular directory state of a working | |
| directory, a commit represents that state in "time", and explains how | |
| to get there. | |
| Normally a commit would identify a new "HEAD" state, and while Git | |
| doesn't care where you save the note about that state, in practice we | |
| tend to just write the result to the file that is pointed at by | |
| `.git/HEAD`, so that we can always see what the last committed | |
| state was. | |
| OPTIONS | |
| ------- | |
| <tree>:: | |
| An existing tree object | |
| -p <parent>:: | |
| Each `-p` indicates the id of a parent commit object. | |
| -m <message>:: | |
| A paragraph in the commit log message. This can be given more than | |
| once and each <message> becomes its own paragraph. | |
| -F <file>:: | |
| Read the commit log message from the given file. Use `-` to read | |
| from the standard input. | |
| -S[<keyid>]:: | |
| --gpg-sign[=<keyid>]:: | |
| GPG-sign commits. The `keyid` argument is optional and | |
| defaults to the committer identity; if specified, it must be | |
| stuck to the option without a space. | |
| --no-gpg-sign:: | |
| Do not GPG-sign commit, to countermand a `--gpg-sign` option | |
| given earlier on the command line. | |
| Commit Information | |
| ------------------ | |
| A commit encapsulates: | |
| - all parent object ids | |
| - author name, email and date | |
| - committer name and email and the commit time. | |
| While parent object ids are provided on the command line, author and | |
| committer information is taken from the following environment variables, | |
| if set: | |
| GIT_AUTHOR_NAME | |
| GIT_AUTHOR_EMAIL | |
| GIT_AUTHOR_DATE | |
| GIT_COMMITTER_NAME | |
| GIT_COMMITTER_EMAIL | |
| GIT_COMMITTER_DATE | |
| (nb "<", ">" and "\n"s are stripped) | |
| In case (some of) these environment variables are not set, the information | |
| is taken from the configuration items user.name and user.email, or, if not | |
| present, the environment variable EMAIL, or, if that is not set, | |
| system user name and the hostname used for outgoing mail (taken | |
| from `/etc/mailname` and falling back to the fully qualified hostname when | |
| that file does not exist). | |
| A commit comment is read from stdin. If a changelog | |
| entry is not provided via "<" redirection, 'git commit-tree' will just wait | |
| for one to be entered and terminated with ^D. | |
| include::date-formats.txt[] | |
| Discussion | |
| ---------- | |
| include::i18n.txt[] | |
| FILES | |
| ----- | |
| /etc/mailname | |
| SEE ALSO | |
| -------- | |
| linkgit:git-write-tree[1] | |
| GIT | |
| --- | |
| Part of the linkgit:git[1] suite |