Merge branch 'bc/doc-adoc-not-txt'
All the documentation .txt files have been renamed to .adoc to help content aware editors. * bc/doc-adoc-not-txt: Remove obsolete ".txt" extensions for AsciiDoc files doc: use .adoc extension for AsciiDoc files gitattributes: mark AsciiDoc files as LF-only editorconfig: add .adoc extension doc: update gitignore for .adoc extension
This commit is contained in:
589
Documentation/git-commit.adoc
Normal file
589
Documentation/git-commit.adoc
Normal file
@ -0,0 +1,589 @@
|
||||
git-commit(1)
|
||||
=============
|
||||
|
||||
NAME
|
||||
----
|
||||
git-commit - Record changes to the repository
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[synopsis]
|
||||
git commit [-a | --interactive | --patch] [-s] [-v] [-u[<mode>]] [--amend]
|
||||
[--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|reword):]<commit>]
|
||||
[-F <file> | -m <msg>] [--reset-author] [--allow-empty]
|
||||
[--allow-empty-message] [--no-verify] [-e] [--author=<author>]
|
||||
[--date=<date>] [--cleanup=<mode>] [--[no-]status]
|
||||
[-i | -o] [--pathspec-from-file=<file> [--pathspec-file-nul]]
|
||||
[(--trailer <token>[(=|:)<value>])...] [-S[<keyid>]]
|
||||
[--] [<pathspec>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Create a new commit containing the current contents of the index and
|
||||
the given log message describing the changes. The new commit is a
|
||||
direct child of HEAD, usually the tip of the current branch, and the
|
||||
branch is updated to point to it (unless no branch is associated with
|
||||
the working tree, in which case `HEAD` is "detached" as described in
|
||||
linkgit:git-checkout[1]).
|
||||
|
||||
The content to be committed can be specified in several ways:
|
||||
|
||||
1. by using linkgit:git-add[1] to incrementally "add" changes to the
|
||||
index before using the `commit` command (Note: even modified files
|
||||
must be "added");
|
||||
|
||||
2. by using linkgit:git-rm[1] to remove files from the working tree
|
||||
and the index, again before using the `commit` command;
|
||||
|
||||
3. by listing files as arguments to the `commit` command
|
||||
(without `--interactive` or `--patch` switch), 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);
|
||||
|
||||
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
|
||||
listed in the index) and to automatically "rm" files in the index
|
||||
that have been removed from the working tree, and then perform the
|
||||
actual commit;
|
||||
|
||||
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
|
||||
in addition to contents in the index,
|
||||
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
|
||||
summary of what is included by any of the above for the next
|
||||
commit by giving the same set of parameters (options and paths).
|
||||
|
||||
If you make a commit and then find a mistake immediately after
|
||||
that, you can recover from it with `git reset`.
|
||||
|
||||
:git-commit: 1
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
`-a`::
|
||||
`--all`::
|
||||
Automatically stage files that have
|
||||
been modified and deleted, but new files you have not
|
||||
told Git about are not affected.
|
||||
|
||||
`-p`::
|
||||
`--patch`::
|
||||
Use the interactive patch selection interface to choose
|
||||
which changes to commit. See linkgit:git-add[1] for
|
||||
details.
|
||||
|
||||
`-C <commit>`::
|
||||
`--reuse-message=<commit>`::
|
||||
Take an existing _<commit>_ object, and reuse the log message
|
||||
and the authorship information (including the timestamp)
|
||||
when creating the commit.
|
||||
|
||||
`-c <commit>`::
|
||||
`--reedit-message=<commit>`::
|
||||
Like `-C`, but with `-c` the editor is invoked, so that
|
||||
the user can further edit the commit message.
|
||||
|
||||
`--fixup=[(amend|reword):]<commit>`::
|
||||
Create a new commit which "fixes up" _<commit>_ when applied with
|
||||
`git rebase --autosquash`. Plain `--fixup=<commit>` creates a
|
||||
"fixup!" commit which changes the content of _<commit>_ but leaves
|
||||
its log message untouched. `--fixup=amend:<commit>` is similar but
|
||||
creates an "amend!" commit which also replaces the log message of
|
||||
_<commit>_ with the log message of the "amend!" commit.
|
||||
`--fixup=reword:<commit>` creates an "amend!" commit which
|
||||
replaces the log message of _<commit>_ with its own log message
|
||||
but makes no changes to the content of _<commit>_.
|
||||
+
|
||||
The commit created by plain `--fixup=<commit>` has a subject
|
||||
composed of "fixup!" followed by the subject line from _<commit>_,
|
||||
and is recognized specially by `git rebase --autosquash`. The `-m`
|
||||
option may be used to supplement the log message of the created
|
||||
commit, but the additional commentary will be thrown away once the
|
||||
"fixup!" commit is squashed into _<commit>_ by
|
||||
`git rebase --autosquash`.
|
||||
+
|
||||
The commit created by `--fixup=amend:<commit>` is similar but its
|
||||
subject is instead prefixed with "amend!". The log message of
|
||||
_<commit>_ is copied into the log message of the "amend!" commit and
|
||||
opened in an editor so it can be refined. When `git rebase
|
||||
--autosquash` squashes the "amend!" commit into _<commit>_, the
|
||||
log message of _<commit>_ is replaced by the refined log message
|
||||
from the "amend!" commit. It is an error for the "amend!" commit's
|
||||
log message to be empty unless `--allow-empty-message` is
|
||||
specified.
|
||||
+
|
||||
`--fixup=reword:<commit>` is shorthand for `--fixup=amend:<commit>
|
||||
--only`. It creates an "amend!" commit with only a log message
|
||||
(ignoring any changes staged in the index). When squashed by `git
|
||||
rebase --autosquash`, it replaces the log message of _<commit>_
|
||||
without making any other changes.
|
||||
+
|
||||
Neither "fixup!" nor "amend!" commits change authorship of
|
||||
_<commit>_ when applied by `git rebase --autosquash`.
|
||||
See linkgit:git-rebase[1] for details.
|
||||
|
||||
`--squash=<commit>`::
|
||||
Construct a commit message for use with `git rebase --autosquash`.
|
||||
The commit message subject line is taken from the specified
|
||||
commit with a prefix of "squash! ". Can be used with additional
|
||||
commit message options (`-m`/`-c`/`-C`/`-F`). See
|
||||
linkgit:git-rebase[1] for details.
|
||||
|
||||
`--reset-author`::
|
||||
When used with `-C`/`-c`/`--amend` options, or when committing after a
|
||||
conflicting cherry-pick, declare that the authorship of the
|
||||
resulting commit now belongs to the committer. This also renews
|
||||
the author timestamp.
|
||||
|
||||
`--short`::
|
||||
When doing a dry-run, give the output in the short-format. See
|
||||
linkgit:git-status[1] for details. Implies `--dry-run`.
|
||||
|
||||
`--branch`::
|
||||
Show the branch and tracking info even in short-format.
|
||||
|
||||
`--porcelain`::
|
||||
When doing a dry-run, give the output in a porcelain-ready
|
||||
format. See linkgit:git-status[1] for details. Implies
|
||||
`--dry-run`.
|
||||
|
||||
`--long`::
|
||||
When doing a dry-run, give the output in the long-format.
|
||||
Implies `--dry-run`.
|
||||
|
||||
`-z`::
|
||||
`--null`::
|
||||
When showing `short` or `porcelain` status output, print the
|
||||
filename verbatim and terminate the entries with _NUL_, instead of _LF_.
|
||||
If no format is given, implies the `--porcelain` output format.
|
||||
Without the `-z` option, filenames with "unusual" characters are
|
||||
quoted as explained for the configuration variable `core.quotePath`
|
||||
(see linkgit:git-config[1]).
|
||||
|
||||
`-F <file>`::
|
||||
`--file=<file>`::
|
||||
Take the commit message from _<file>_. Use '-' to
|
||||
read the message from the standard input.
|
||||
|
||||
`--author=<author>`::
|
||||
Override the commit author. Specify an explicit author using the
|
||||
standard `A U Thor <author@example.com>` format. Otherwise _<author>_
|
||||
is assumed to be a pattern and is used to search for an existing
|
||||
commit by that author (i.e. `git rev-list --all -i --author=<author>`);
|
||||
the commit author is then copied from the first such commit found.
|
||||
|
||||
`--date=<date>`::
|
||||
Override the author date used in the commit.
|
||||
|
||||
`-m <msg>`::
|
||||
`--message=<msg>`::
|
||||
Use _<msg>_ as the commit message.
|
||||
If multiple `-m` options are given, their values are
|
||||
concatenated as separate paragraphs.
|
||||
+
|
||||
The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.
|
||||
|
||||
`-t <file>`::
|
||||
`--template=<file>`::
|
||||
When editing the commit message, start the editor with the
|
||||
contents in _<file>_. The `commit.template` configuration
|
||||
variable is often used to give this option implicitly to the
|
||||
command. This mechanism can be used by projects that want to
|
||||
guide participants with some hints on what to write in the message
|
||||
in what order. If the user exits the editor without editing the
|
||||
message, the commit is aborted. This has no effect when a message
|
||||
is given by other means, e.g. with the `-m` or `-F` options.
|
||||
|
||||
include::signoff-option.adoc[]
|
||||
|
||||
`--trailer <token>[(=|:)<value>]`::
|
||||
Specify a (_<token>_, _<value>_) pair that should be applied as a
|
||||
trailer. (e.g. `git commit --trailer "Signed-off-by:C O Mitter \
|
||||
<committer@example.com>" --trailer "Helped-by:C O Mitter \
|
||||
<committer@example.com>"` will add the `Signed-off-by` trailer
|
||||
and the `Helped-by` trailer to the commit message.)
|
||||
The `trailer.*` configuration variables
|
||||
(linkgit:git-interpret-trailers[1]) can be used to define if
|
||||
a duplicated trailer is omitted, where in the run of trailers
|
||||
each trailer would appear, and other details.
|
||||
|
||||
`-n`::
|
||||
`--[no-]verify`::
|
||||
Bypass the `pre-commit` and `commit-msg` hooks.
|
||||
See also linkgit:githooks[5].
|
||||
|
||||
`--allow-empty`::
|
||||
Usually recording a commit that has the exact same tree as its
|
||||
sole parent commit is a mistake, and the command prevents you
|
||||
from making such a commit. This option bypasses the safety, and
|
||||
is primarily for use by foreign SCM interface scripts.
|
||||
|
||||
`--allow-empty-message`::
|
||||
Create a commit with an empty commit message without using plumbing
|
||||
commands like linkgit:git-commit-tree[1]. Like `--allow-empty`, this
|
||||
command is primarily for use by foreign SCM interface scripts.
|
||||
|
||||
`--cleanup=<mode>`::
|
||||
Determine 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,
|
||||
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 found below is truncated, if the message is to be edited.
|
||||
"`#`" can be customized with `core.commentChar`.
|
||||
|
||||
# ------------------------ >8 ------------------------
|
||||
|
||||
`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`::
|
||||
Let the user further edit the message taken from _<file>_
|
||||
with `-F <file>`, command line with `-m <message>`, and
|
||||
from _<commit>_ with `-C <commit>`.
|
||||
|
||||
`--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`::
|
||||
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:
|
||||
------
|
||||
$ git reset --soft HEAD^
|
||||
$ ... do something else to come up with the right tree ...
|
||||
$ git commit -c ORIG_HEAD
|
||||
|
||||
------
|
||||
but can be used to amend a merge commit.
|
||||
--
|
||||
+
|
||||
You should understand the implications of rewriting history if you
|
||||
amend a commit that has already been published. (See the "RECOVERING
|
||||
FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].)
|
||||
|
||||
`--no-post-rewrite`::
|
||||
Bypass the `post-rewrite` hook.
|
||||
|
||||
`-i`::
|
||||
`--include`::
|
||||
Before making a commit out of staged contents so far,
|
||||
stage the contents of paths given on the command line
|
||||
as well. This is usually not what you want unless you
|
||||
are concluding a conflicted merge.
|
||||
|
||||
`-o`::
|
||||
`--only`::
|
||||
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 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
|
||||
no paths need to be specified, which can be used to amend
|
||||
the last commit without committing changes that have
|
||||
already been staged. If used together with `--allow-empty`
|
||||
paths are also not required, and an empty commit will be created.
|
||||
|
||||
`--pathspec-from-file=<file>`::
|
||||
Pass pathspec in _<file>_ instead of commandline args. If
|
||||
_<file>_ is exactly `-` then standard input is used. Pathspec
|
||||
elements are separated by _LF_ or _CR_/_LF_. Pathspec elements can be
|
||||
quoted as explained for the configuration variable `core.quotePath`
|
||||
(see linkgit:git-config[1]). See also `--pathspec-file-nul` and
|
||||
global `--literal-pathspecs`.
|
||||
|
||||
`--pathspec-file-nul`::
|
||||
Only meaningful with `--pathspec-from-file`. Pathspec elements are
|
||||
separated with _NUL_ character and all other characters are taken
|
||||
literally (including newlines and quotes).
|
||||
|
||||
`-u[<mode>]`::
|
||||
`--untracked-files[=<mode>]`::
|
||||
Show untracked files.
|
||||
+
|
||||
--
|
||||
The _<mode>_ parameter is optional (defaults to `all`), and is used to
|
||||
specify the handling of untracked files; when `-u` is not used, the
|
||||
default is `normal`, i.e. show untracked files and directories.
|
||||
|
||||
The possible options are:
|
||||
|
||||
`no`:: Show no untracked files
|
||||
`normal`:: Shows untracked files and directories
|
||||
`all`:: Also shows individual files in untracked directories.
|
||||
|
||||
All usual spellings for Boolean value `true` are taken as `normal`
|
||||
and `false` as `no`.
|
||||
The default can be changed using the `status.showUntrackedFiles`
|
||||
configuration variable documented in linkgit:git-config[1].
|
||||
--
|
||||
|
||||
`-v`::
|
||||
`--verbose`::
|
||||
Show unified diff between the `HEAD` commit and what
|
||||
would be committed at the bottom of the commit message
|
||||
template to help the user describe the commit by reminding
|
||||
what changes the commit has.
|
||||
Note that this diff output doesn't have its
|
||||
lines prefixed with `#`. This diff will not be a part
|
||||
of the commit message. See the `commit.verbose` configuration
|
||||
variable in linkgit:git-config[1].
|
||||
+
|
||||
If specified twice, show in addition the unified diff between
|
||||
what would be committed and the worktree files, i.e. the unstaged
|
||||
changes to tracked files.
|
||||
|
||||
`-q`::
|
||||
`--quiet`::
|
||||
Suppress commit summary message.
|
||||
|
||||
`--dry-run`::
|
||||
Do not create a commit, but show a list of paths that are
|
||||
to be committed, paths with local changes that will be left
|
||||
uncommitted and paths that are untracked.
|
||||
|
||||
`--status`::
|
||||
Include the output of linkgit:git-status[1] in the commit
|
||||
message template when using an editor to prepare the commit
|
||||
message. Defaults to on, but can be used to override
|
||||
configuration variable `commit.status`.
|
||||
|
||||
`--no-status`::
|
||||
Do not include the output of linkgit:git-status[1] in the
|
||||
commit message template when using an editor to prepare the
|
||||
default commit message.
|
||||
|
||||
`-S[<key-id>]`::
|
||||
`--gpg-sign[=<key-id>]`::
|
||||
`--no-gpg-sign`::
|
||||
GPG-sign commits. The _<key-id>_ is optional and
|
||||
defaults to the committer identity; if specified, it must be
|
||||
stuck to the option without a space. `--no-gpg-sign` is useful to
|
||||
countermand both `commit.gpgSign` configuration variable, and
|
||||
earlier `--gpg-sign`.
|
||||
|
||||
`--`::
|
||||
Do not interpret any more arguments as options.
|
||||
|
||||
`<pathspec>...`::
|
||||
When _<pathspec>_ is given on the command line, commit the contents of
|
||||
the files that match the pathspec without recording the changes
|
||||
already added to the index. The contents of these files are also
|
||||
staged for the next commit on top of what have been staged before.
|
||||
+
|
||||
For more details, see the 'pathspec' entry in linkgit:gitglossary[7].
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
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 restore --staged <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,
|
||||
`git commit` (without any pathname parameter) is used to record what
|
||||
has been staged so far. This is the most basic form of the
|
||||
command. An example:
|
||||
|
||||
------------
|
||||
$ edit hello.c
|
||||
$ git rm goodbye.c
|
||||
$ git add hello.c
|
||||
$ git commit
|
||||
------------
|
||||
|
||||
Instead of staging files after each individual change, you can
|
||||
tell `git commit` to notice the changes to the files whose
|
||||
contents are tracked in
|
||||
your working tree and do corresponding `git add` and `git rm`
|
||||
for you. That is, this example does the same as the earlier
|
||||
example if there is no other change in your working tree:
|
||||
|
||||
------------
|
||||
$ edit hello.c
|
||||
$ rm goodbye.c
|
||||
$ git commit -a
|
||||
------------
|
||||
|
||||
The command `git commit -a` first looks at your working tree,
|
||||
notices that you have modified `hello.c` and removed `goodbye.c`,
|
||||
and performs necessary `git add` and `git rm` for you.
|
||||
|
||||
After staging changes to many files, you can alter the order the
|
||||
changes are recorded in, by giving pathnames to `git commit`.
|
||||
When pathnames are given, the command makes a commit that
|
||||
only records the changes made to the named paths:
|
||||
|
||||
------------
|
||||
$ edit hello.c hello.h
|
||||
$ git add hello.c hello.h
|
||||
$ edit Makefile
|
||||
$ git commit Makefile
|
||||
------------
|
||||
|
||||
This makes a commit that records the modification to `Makefile`.
|
||||
The changes staged for `hello.c` and `hello.h` are not included
|
||||
in the resulting commit. However, their changes are not lost --
|
||||
they are still staged and merely held back. After the above
|
||||
sequence, if you do:
|
||||
|
||||
------------
|
||||
$ git commit
|
||||
------------
|
||||
|
||||
this second commit would record the changes to `hello.c` and
|
||||
`hello.h` as expected.
|
||||
|
||||
After a merge (initiated by `git merge` or `git pull`) stops
|
||||
because of conflicts, cleanly merged
|
||||
paths are already staged to be committed for you, and paths that
|
||||
conflicted are left in unmerged state. You would have to first
|
||||
check which paths are conflicting with `git status`
|
||||
and after fixing them manually in your working tree, you would
|
||||
stage the result as usual with `git add`:
|
||||
|
||||
------------
|
||||
$ git status | grep unmerged
|
||||
unmerged: hello.c
|
||||
$ edit hello.c
|
||||
$ git add hello.c
|
||||
------------
|
||||
|
||||
After resolving conflicts and staging the result, `git ls-files -u`
|
||||
would stop mentioning the conflicted path. When you are done,
|
||||
run `git commit` to finally record the merge:
|
||||
|
||||
------------
|
||||
$ git commit
|
||||
------------
|
||||
|
||||
As with the case to record your own changes, you can use `-a`
|
||||
option to save typing. One difference is that during a merge
|
||||
resolution, you cannot use `git commit` with pathnames to
|
||||
alter the order the changes are committed, because the merge
|
||||
should be recorded as a single commit. In fact, the command
|
||||
refuses to run when given pathnames (but see `-i` option).
|
||||
|
||||
COMMIT INFORMATION
|
||||
------------------
|
||||
|
||||
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)
|
||||
|
||||
The author and committer names are by convention some form of a personal name
|
||||
(that is, the name by which other humans refer to you), although Git does not
|
||||
enforce or require any particular form. Arbitrary Unicode may be used, subject
|
||||
to the constraints listed above. This name has no effect on authentication; for
|
||||
that, see the `credential.username` variable in linkgit:git-config[1].
|
||||
|
||||
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).
|
||||
|
||||
The `author.name` and `committer.name` and their corresponding email options
|
||||
override `user.name` and `user.email` if set and are overridden themselves by
|
||||
the environment variables.
|
||||
|
||||
The typical usage is to set just the `user.name` and `user.email` variables;
|
||||
the other options are provided for more complex use cases.
|
||||
|
||||
:git-commit: 1
|
||||
include::date-formats.adoc[]
|
||||
|
||||
DISCUSSION
|
||||
----------
|
||||
|
||||
Though not required, it's a good idea to begin the commit message
|
||||
with a single short (no more than 50 characters) line summarizing the
|
||||
change, followed by a blank line and then a more thorough description.
|
||||
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.adoc[]
|
||||
|
||||
ENVIRONMENT AND CONFIGURATION VARIABLES
|
||||
---------------------------------------
|
||||
The editor used to edit the commit log message will be chosen from the
|
||||
`GIT_EDITOR` environment variable, the `core.editor` configuration variable, the
|
||||
`VISUAL` environment variable, or the `EDITOR` environment variable (in that
|
||||
order). See linkgit:git-var[1] for details.
|
||||
|
||||
include::includes/cmd-config-section-rest.adoc[]
|
||||
|
||||
include::config/commit.adoc[]
|
||||
|
||||
HOOKS
|
||||
-----
|
||||
This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`,
|
||||
`post-commit` and `post-rewrite` 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
|
||||
--------
|
||||
linkgit:git-add[1],
|
||||
linkgit:git-rm[1],
|
||||
linkgit:git-mv[1],
|
||||
linkgit:git-merge[1],
|
||||
linkgit:git-commit-tree[1]
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
Reference in New Issue
Block a user