clone: tighten "local paths with colons" check a bit
[gitweb.git] / Documentation / git-commit.txt
index 9e327cf5c0921e9c7c3a7858b216ef276d4eaf71..0eb79ccdba6b74aaafec8cf71461053491b8c216 100644 (file)
@@ -13,7 +13,7 @@ SYNOPSIS
           [-F <file> | -m <msg>] [--reset-author] [--allow-empty]
           [--allow-empty-message] [--no-verify] [-e] [--author=<author>]
           [--date=<date>] [--cleanup=<mode>] [--status | --no-status]
-          [-i | -o] [--] [<file>...]
+          [-i | -o] [-S[<keyid>]] [--] [<file>...]
 
 DESCRIPTION
 -----------
@@ -32,7 +32,7 @@ The content to be added can be specified in several ways:
 3. by listing files as arguments to the 'commit' command, in which
    case the commit will ignore changes staged in the index, and instead
    record the current content of the listed files (which must already
-   be known to git);
+   be known to Git);
 
 4. by using the -a switch with the 'commit' command to automatically
    "add" changes from all known files (i.e. all files that are already
@@ -42,7 +42,7 @@ The content to be added can be specified in several ways:
 
 5. by using the --interactive or --patch switches with the 'commit' command
    to decide one by one which files or hunks should be part of the commit,
-   before finalizing the operation. See the ``Interactive Mode`` section of
+   before finalizing the operation. See the ``Interactive Mode'' section of
    linkgit:git-add[1] to learn how to operate these modes.
 
 The `--dry-run` option can be used to obtain a
@@ -59,7 +59,7 @@ OPTIONS
 --all::
        Tell the command to automatically stage files that have
        been modified and deleted, but new files you have not
-       told git about are not affected.
+       told Git about are not affected.
 
 -p::
 --patch::
@@ -109,6 +109,10 @@ OPTIONS
        format. See linkgit:git-status[1] for details. Implies
        `--dry-run`.
 
+--long::
+       When doing a dry-run, give the output in a the long-format.
+       Implies `--dry-run`.
+
 -z::
 --null::
        When showing `short` or `porcelain` status output, terminate
@@ -175,7 +179,9 @@ OPTIONS
        only if the message is to be edited. Otherwise only whitespace
        removed. The 'verbatim' mode does not change message at all,
        'whitespace' removes just leading/trailing whitespace lines
-       and 'strip' removes both whitespace and commentary.
+       and 'strip' removes both whitespace and commentary. The default
+       can be changed by the 'commit.cleanup' configuration variable
+       (see linkgit:git-config[1]).
 
 -e::
 --edit::
@@ -184,6 +190,11 @@ OPTIONS
        commit log message unmodified.  This option lets you
        further edit the message taken from these sources.
 
+--no-edit::
+       Use the selected commit message without launching an editor.
+       For example, `git commit --amend --no-edit` amends a commit
+       without changing its commit message.
+
 --amend::
        Used to amend the tip of the current branch. Prepare the tree
        object you would want to replace the latest commit as usual
@@ -275,6 +286,10 @@ configuration variable documented in linkgit:git-config[1].
        commit message template when using an editor to prepare the
        default commit message.
 
+-S[<keyid>]::
+--gpg-sign[=<keyid>]::
+       GPG-sign commit.
+
 \--::
        Do not interpret any more arguments as options.
 
@@ -294,7 +309,7 @@ When recording your own work, the contents of modified files in
 your working tree are temporarily stored to a staging area
 called the "index" with 'git add'.  A file can be
 reverted back, only in the index but not in the working tree,
-to that of the last commit with `git reset HEAD \-- <file>`,
+to that of the last commit with `git reset HEAD -- <file>`,
 which effectively reverts 'git add' and prevents the changes to
 this file from participating in the next commit.  After building
 the state to be committed incrementally with these commands,
@@ -388,8 +403,10 @@ DISCUSSION
 Though not required, it's a good idea to begin the commit message
 with a single short (less than 50 character) line summarizing the
 change, followed by a blank line and then a more thorough description.
-Tools that turn commits into email, for example, use the first line
-on the Subject: line and the rest of the commit in the body.
+The text up to the first blank line in a commit message is treated
+as the commit title, and that title is used throughout Git.
+For example, linkgit:git-format-patch[1] turns a commit into email, and it uses
+the title on the Subject line and the rest of the commit in the body.
 
 include::i18n.txt[]
 
@@ -406,6 +423,15 @@ This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`,
 and `post-commit` hooks.  See linkgit:githooks[5] for more
 information.
 
+FILES
+-----
+
+`$GIT_DIR/COMMIT_EDITMSG`::
+       This file contains the commit message of a commit in progress.
+       If `git commit` exits due to an error before creating a commit,
+       any commit message that has been provided by the user (e.g., in
+       an editor session) will be available in this file, but will be
+       overwritten by the next invocation of `git commit`.
 
 SEE ALSO
 --------