am --skip: revert changes introduced by failed 3way merge
[gitweb.git] / Documentation / git-commit.txt
index 0eb79ccdba6b74aaafec8cf71461053491b8c216..1e74b75d383838b3828f3fee20750c399d77cba0 100644 (file)
@@ -12,8 +12,8 @@ SYNOPSIS
           [--dry-run] [(-c | -C | --fixup | --squash) <commit>]
           [-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] [-S[<keyid>]] [--] [<file>...]
+          [--date=<date>] [--cleanup=<mode>] [--[no-]status]
+          [-i | -o] [-S[<key-id>]] [--] [<file>...]
 
 DESCRIPTION
 -----------
@@ -137,6 +137,8 @@ OPTIONS
 -m <msg>::
 --message=<msg>::
        Use the given <msg> as the commit message.
+       If multiple `-m` options are given, their values are
+       concatenated as separate paragraphs.
 
 -t <file>::
 --template=<file>::
@@ -172,22 +174,37 @@ OPTIONS
        linkgit:git-commit-tree[1].
 
 --cleanup=<mode>::
-       This option sets how the commit message is cleaned up.
-       The  '<mode>' can be one of 'verbatim', 'whitespace', 'strip',
-       and 'default'. The 'default' mode will strip leading and
-       trailing empty lines and #commentary from the commit message
-       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. The default
-       can be changed by the 'commit.cleanup' configuration variable
-       (see linkgit:git-config[1]).
+       This option determines how the supplied commit message should be
+       cleaned up before committing.  The '<mode>' can be `strip`,
+       `whitespace`, `verbatim`, `scissors` or `default`.
++
+--
+strip::
+       Strip leading and trailing empty lines, trailing whitespace, and
+       #commentary and collapse consecutive empty lines.
+whitespace::
+       Same as `strip` except #commentary is not removed.
+verbatim::
+       Do not change the message at all.
+scissors::
+       Same as `whitespace`, except that everything from (and
+       including) the line
+       "`# ------------------------ >8 ------------------------`"
+       is truncated if the message is to be edited. "`#`" can be
+       customized with core.commentChar.
+default::
+       Same as `strip` if the message is to be edited.
+       Otherwise `whitespace`.
+--
++
+The default can be changed by the 'commit.cleanup' configuration
+variable (see linkgit:git-config[1]).
 
 -e::
 --edit::
        The message taken from file with `-F`, command line with
-       `-m`, and from file with `-C` are usually used as the
-       commit log message unmodified.  This option lets you
+       `-m`, and from commit object with `-C` are usually used as
+       the commit log message unmodified. This option lets you
        further edit the message taken from these sources.
 
 --no-edit::
@@ -196,14 +213,15 @@ OPTIONS
        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
-       (this includes the usual -i/-o and explicit paths), and the
-       commit log editor is seeded with the commit message from the
-       tip of the current branch. The commit you create replaces the
-       current tip -- if it was a merge, it will have the parents of
-       the current tip as parents -- so the current top commit is
-       discarded.
+       Replace the tip of the current branch by creating a new
+       commit. The recorded tree is prepared as usual (including
+       the effect of the `-i` and `-o` options and explicit
+       pathspec), and the message from the original commit is used
+       as the starting point, instead of an empty message, when no
+       other message is specified from the command line via options
+       such as `-m`, `-F`, `-c`, etc.  The new commit has the same
+       parents and author as the current one (the `--reset-author`
+       option can countermand this).
 +
 --
 It is a rough equivalent for:
@@ -232,9 +250,10 @@ FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].)
 
 -o::
 --only::
-       Make a commit only from the paths specified on the
+       Make a commit by taking the updated working tree contents
+       of the paths specified on the
        command line, disregarding any contents that have been
-       staged so far. This is the default mode of operation of
+       staged for other paths. This is the default mode of operation of
        'git commit' if any paths are given on the command line,
        in which case this option can be omitted.
        If this option is specified together with '--amend', then
@@ -290,6 +309,10 @@ configuration variable documented in linkgit:git-config[1].
 --gpg-sign[=<keyid>]::
        GPG-sign commit.
 
+--no-gpg-sign::
+       Countermand `commit.gpgsign` configuration variable that is
+       set to force each and every commit to be signed.
+
 \--::
        Do not interpret any more arguments as options.