.SH "SYNOPSIS"
.nf
-\fIgit\-commit\fR [\-a] [\-i] [\-s] [\-v] [(\-c | \-C) <commit> | \-F <file> | \-m <msg>]
- [\-e] [\-\-author <author>] [\-\-] <file>...
+\fIgit\-commit\fR [\-a] [\-s] [\-v] [(\-c | \-C) <commit> | \-F <file> | \-m <msg>]
+ [\-e] [\-\-author <author>] [\-\-] [[\-i | \-o ]<file>...]
.fi
.SH "DESCRIPTION"
\-i|\-\-include
Instead of committing only the files specified on the command line, update them in the index file and then commit the whole index\&. This is the traditional behaviour\&.
+.TP
+\-o|\-\-only
+Commit only the files specified on the command line\&. This format cannot be used during a merge, nor when the index and the latest commit does not match on the specified paths to avoid confusion\&.
+
.TP
--
Do not interpret any more arguments as options\&.
.TP
<file>...
-Commit only the files specified on the command line\&. This format cannot be used during a merge, nor when the index and the latest commit does not match on the specified paths to avoid confusion\&.
+Files to be committed\&. The meaning of these is different between \-\-include and \-\-only\&. Without either, it defaults \-\-only semantics\&.
If you make a commit and then found a mistake immediately after that, you can recover from it with \fBgit\-reset\fR(1)\&.
.SH "SYNOPSIS"
-git\-ls\-files [\-z] [\-t] (\-\-[cached|deleted|others|ignored|stage|unmerged|killed|modified])* (\-[c|d|o|i|s|u|k|m])* [\-x <pattern>|\-\-exclude=<pattern>] [\-X <file>|\-\-exclude\-from=<file>] [\-\-exclude\-per\-directory=<file>] [\-\-full\-name] [\-\-] [<file>]*
+\fIgit\-ls\-files\fR [\-z] [\-t] (\-\-[cached|deleted|others|ignored|stage|unmerged|killed|modified])* (\-[c|d|o|i|s|u|k|m])* [\-x <pattern>|\-\-exclude=<pattern>] [\-X <file>|\-\-exclude\-from=<file>] [\-\-exclude\-per\-directory=<file>] [\-\-full\-name] [\-\-] [<file>]*
.SH "DESCRIPTION"
\-t
Identify the file status with the following tags (followed by a space) at the start of each line:
H
+
cached
+
M
+
unmerged
+
R
+
removed/deleted
+
C
+
modified/changed
+
K
-to be killed ? other
+
+to be killed
+
+?
+
+other
+
.TP
\-\-full\-name
.SH "OUTPUT"
-show files just outputs the filename unless \-\-stage is specified in which case it outputs:
+show files just outputs the filename unless \fI\-\-stage\fR is specified in which case it outputs:
.nf
[<tag> ]<mode> <object> <stage> <file>
.SH "EXCLUDE PATTERNS"
-git\-ls\-files can use a list of "exclude patterns" when traversing the directory tree and finding files to show when the flags \-\-others or \-\-ignored are specified\&.
+\fIgit\-ls\-files\fR can use a list of "exclude patterns" when traversing the directory tree and finding files to show when the flags \-\-others or \-\-ignored are specified\&.
These exclude patterns come from these places:
command line flag \-\-exclude\-from=<file> specifies a list of patterns stored in a file\&.
.TP
3.
-command line flag \-\-exclude\-per\-directory=<name> specifies a name of the file in each directory git\-ls\-files examines, and if exists, its contents are used as an additional list of patterns\&.
+command line flag \-\-exclude\-per\-directory=<name> specifies a name of the file in each directory \fIgit\-ls\-files\fR examines, and if exists, its contents are used as an additional list of patterns\&.
.LP
-An exclude pattern file used by (2) and (3) contains one pattern per line\&. A line that starts with a # can be used as comment for readability\&.
+An exclude pattern file used by (2) and (3) contains one pattern per line\&. A line that starts with a \fI#\fR can be used as comment for readability\&.
There are three lists of patterns that are in effect at a given time\&. They are built and ordered in the following way:
.TP 3
\(bu
-an optional prefix ! which means that the fate this pattern specifies is "include", not the usual "exclude"; the remainder of the pattern string is interpreted according to the following rules\&.
+an optional prefix \fI!\fR which means that the fate this pattern specifies is "include", not the usual "exclude"; the remainder of the pattern string is interpreted according to the following rules\&.
.TP
\(bu
-if it does not contain a slash /, it is a shell glob pattern and used to match against the filename without leading directories (i\&.e\&. the same way as the current implementation)\&.
+if it does not contain a slash \fI/\fR, it is a shell glob pattern and used to match against the filename without leading directories (i\&.e\&. the same way as the current implementation)\&.
.TP
\(bu
otherwise, it is a shell glob pattern, suitable for consumption by fnmatch(3) with FNM_PATHNAME flag\&. I\&.e\&. a slash in the pattern must match a slash in the pathname\&. "Documentation/*\&.html" matches "Documentation/git\&.html" but not "ppc/ppc\&.html"\&. As a natural exception, "/*\&.c" matches "cat\-file\&.c" but not "mozilla\-sha1/sha1\&.c"\&.