1 // Please don't remove this comment as asciidoc behaves badly when
2 // the first non-empty line is ifdef/ifndef. The symptom is that
3 // without this comment the <git-diff-core> attribute conditionally
4 // defined below ends up being defined unconditionally.
5 // Last checked with asciidoc 7.0.2.
7 ifndef::git-format-patch[]
11 endif::git-format-patch[]
13 ifdef::git-format-patch[]
15 Generate patches without diffstat.
16 endif::git-format-patch[]
18 ifndef::git-format-patch[]
20 Generate patch (see section on generating patches).
21 {git-diff? This is the default.}
22 endif::git-format-patch[]
28 Shorthand for "--unified=<n>".
31 Generate diffs with <n> lines of context instead of
32 the usual three. Implies "-p".
35 Generate the raw format.
36 {git-diff-core? This is the default.}
39 Synonym for "-p --raw".
41 --stat[=width[,name-width]]::
42 Generate a diffstat. You can override the default
43 output width for 80-column terminal by "--stat=width".
44 The width of the filename part can be controlled by
45 giving another width to it separated by a comma.
48 Similar to \--stat, but shows number of added and
49 deleted lines in decimal notation and pathname without
50 abbreviation, to make it more machine friendly. For
51 binary files, outputs two `-` instead of saying
55 Output only the last line of the --stat format containing total
56 number of modified files, as well as number of added and deleted
60 Output a condensed summary of extended header information
61 such as creations, renames and mode changes.
64 Synonym for "-p --stat".
65 {git-format-patch? This is the default.}
68 NUL-line termination on output. This affects the --raw
69 output field terminator. Also output from commands such
70 as "git-log" will be delimited with NUL between commits.
73 Show only names of changed files.
76 Show only names and status of changed files.
82 Turn off colored diff, even when the configuration file
83 gives the default to color output.
86 Show colored word diff, i.e. color words which have changed.
89 Turn off rename detection, even when the configuration
90 file gives the default to do so.
93 Warn if changes introduce trailing whitespace
94 or an indent that uses a space before a tab.
97 Instead of the first handful characters, show full
98 object name of pre- and post-image blob on the "index"
99 line when generating a patch format output.
102 In addition to --full-index, output "binary diff" that
103 can be applied with "git apply".
106 Instead of showing the full 40-byte hexadecimal object
107 name in diff-raw format output and diff-tree header
108 lines, show only handful hexdigits prefix. This is
109 independent of --full-index option above, which controls
110 the diff-patch output format. Non default number of
111 digits can be specified with --abbrev=<n>.
114 Break complete rewrite changes into pairs of delete and create.
120 Detect copies as well as renames. See also `--find-copies-harder`.
122 --diff-filter=[ACDMRTUXB*]::
123 Select only files that are Added (`A`), Copied (`C`),
124 Deleted (`D`), Modified (`M`), Renamed (`R`), have their
125 type (mode) changed (`T`), are Unmerged (`U`), are
126 Unknown (`X`), or have had their pairing Broken (`B`).
127 Any combination of the filter characters may be used.
128 When `*` (All-or-none) is added to the combination, all
129 paths are selected if there is any file that matches
130 other criteria in the comparison; if there is no file
131 that matches other criteria, nothing is selected.
133 --find-copies-harder::
134 For performance reasons, by default, `-C` option finds copies only
135 if the original file of the copy was modified in the same
136 changeset. This flag makes the command
137 inspect unmodified files as candidates for the source of
138 copy. This is a very expensive operation for large
139 projects, so use it with caution. Giving more than one
140 `-C` option has the same effect.
143 -M and -C options require O(n^2) processing time where n
144 is the number of potential rename/copy targets. This
145 option prevents rename/copy detection from running if
146 the number of rename/copy targets exceeds the specified
150 Look for differences that contain the change in <string>.
153 When -S finds a change, show all the changes in that
154 changeset, not just the files that contain the change
158 Make the <string> not a plain string but an extended POSIX
162 Output the patch in the order specified in the
163 <orderfile>, which has one shell glob pattern per line.
166 Swap two inputs; that is, show differences from index or
167 on-disk file to tree contents.
170 Treat all files as text.
173 Shorthand for "--text".
175 --ignore-space-at-eol::
176 Ignore changes in white spaces at EOL.
178 --ignore-space-change::
179 Ignore changes in amount of white space. This ignores white
180 space at line end, and consider all other sequences of one or
181 more white space characters to be equivalent.
184 Shorthand for "--ignore-space-change".
187 Ignore white space when comparing lines. This ignores
188 difference even if one line has white space where the other
192 Shorthand for "--ignore-all-space".
195 Make the program exit with codes similar to diff(1).
196 That is, it exits with 1 if there were differences and
197 0 means no differences.
200 Disable all output of the program. Implies --exit-code.
203 Allow an external diff helper to be executed. If you set an
204 external diff driver with gitlink:gitattributes[5], you need
205 to use this option with gitlink:git-log[1] and friends.
208 Disallow external diff drivers.
210 For more detailed explanation on these common options, see also
211 link:diffcore.html[diffcore documentation].