| 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 |