@ -8,8 +8,8 @@ git-commit - Record your changes
SYNOPSIS
SYNOPSIS
--------
--------
[verse]
[verse]
'git-commit' [-a] [-i] [-s] [-v] [(-c | -C) <commit> | -F <file> | -m <msg>]
'git-commit' [-a] [-s] [-v] [(-c | -C) <commit> | -F <file> | -m <msg>]
[-e] [--author <author>] [--] <file>...
[-e] [--author <author>] [--] [[-i | -o ]<file>...]
DESCRIPTION
DESCRIPTION
-----------
-----------
@ -73,19 +73,39 @@ OPTIONS
commit the whole index. This is the traditional
commit the whole index. This is the traditional
behaviour.
behaviour.
--::
-o|--only::
Do not interpret any more arguments as options.
<file>...::
Commit only the files specified on the command line.
Commit only the files specified on the command line.
This format cannot be used during a merge, nor when the
This format cannot be used during a merge, nor when the
index and the latest commit does not match on the
index and the latest commit does not match on the
specified paths to avoid confusion.
specified paths to avoid confusion.
--::
Do not interpret any more arguments as options.
<file>...::
Files to be committed. The meaning of these is
different between `--include` and `--only`. Without
either, it defaults `--include` semantics.
If you make a commit and then found a mistake immediately after
If you make a commit and then found a mistake immediately after
that, you can recover from it with gitlink:git-reset[1].
that, you can recover from it with gitlink:git-reset[1].
WARNING
-------
The 1.2.0 and its maintenance series 1.2.X will keep the
traditional `--include` semantics as the default when neither
`--only` nor `--include` is specified and `paths...` are given.
This *will* change during the development towards 1.3.0 in the
'master' branch of `git.git` repository. If you are using this
command in your scripts, and you depend on the traditional
`--include` semantics, please update them to explicitly ask for
`--include` semantics. Also if you are used to making partial
commit using `--include` semantics, please train your fingers to
say `git commit --include paths...` (or `git commit -i paths...`).
Discussion
Discussion
----------
----------
@ -101,7 +121,7 @@ even the command is invoked from a subdirectory.
That is, update the specified paths to the index and then commit
That is, update the specified paths to the index and then commit
the whole tree.
the whole tree.
`git commit paths...` largely bypasses the index file and
`git commit --only paths...` largely bypasses the index file and
commits only the changes made to the specified paths. It has
commits only the changes made to the specified paths. It has
however several safety valves to prevent confusion.
however several safety valves to prevent confusion.