mirror of
https://github.com/git/git.git
synced 2024-12-01 05:54:16 +08:00
df45cb3ea3
Commitba3c69a9
(commit: teach --gpg-sign option, 2011-10-05) added the -S option but documented it in the command usage without indicating that the value is optional and forgot to mention it in the manpage. Later commit098bbdc3
(Add -S, --gpg-sign option to manpage of "git commit", 2012-10-21) documented the option in the porcelain manpage. Use wording from the porcelain manpage to document the option in the plumbing manpage. Also update the commit-tree usage summary to indicate that the -S value is optional to be consistent with the manpage and with the implementation. Signed-off-by: Brad King <brad.king@kitware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
112 lines
2.8 KiB
Plaintext
112 lines
2.8 KiB
Plaintext
git-commit-tree(1)
|
|
==================
|
|
|
|
NAME
|
|
----
|
|
git-commit-tree - Create a new commit object
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'git commit-tree' <tree> [(-p <parent>)...] < changelog
|
|
'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 commit.
|
|
|
|
|
|
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
|