123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766 |
- // Please don't remove this comment as asciidoc behaves badly when
- // the first non-empty line is ifdef/ifndef. The symptom is that
- // without this comment the <git-diff-core> attribute conditionally
- // defined below ends up being defined unconditionally.
- // Last checked with asciidoc 7.0.2.
- ifndef::git-format-patch[]
- ifndef::git-diff[]
- ifndef::git-log[]
- :git-diff-core: 1
- endif::git-log[]
- endif::git-diff[]
- endif::git-format-patch[]
- ifdef::git-format-patch[]
- -p::
- --no-stat::
- Generate plain patches without any diffstats.
- endif::git-format-patch[]
- ifndef::git-format-patch[]
- -p::
- -u::
- --patch::
- Generate patch (see section on generating patches).
- ifdef::git-diff[]
- This is the default.
- endif::git-diff[]
- -s::
- --no-patch::
- Suppress diff output. Useful for commands like `git show` that
- show the patch by default, or to cancel the effect of `--patch`.
- endif::git-format-patch[]
- -U<n>::
- --unified=<n>::
- Generate diffs with <n> lines of context instead of
- the usual three. Implies `--patch`.
- ifndef::git-format-patch[]
- Implies `-p`.
- endif::git-format-patch[]
- --output=<file>::
- Output to a specific file instead of stdout.
- --output-indicator-new=<char>::
- --output-indicator-old=<char>::
- --output-indicator-context=<char>::
- Specify the character used to indicate new, old or context
- lines in the generated patch. Normally they are '+', '-' and
- ' ' respectively.
- ifndef::git-format-patch[]
- --raw::
- ifndef::git-log[]
- Generate the diff in raw format.
- ifdef::git-diff-core[]
- This is the default.
- endif::git-diff-core[]
- endif::git-log[]
- ifdef::git-log[]
- For each commit, show a summary of changes using the raw diff
- format. See the "RAW OUTPUT FORMAT" section of
- linkgit:git-diff[1]. This is different from showing the log
- itself in raw format, which you can achieve with
- `--format=raw`.
- endif::git-log[]
- endif::git-format-patch[]
- ifndef::git-format-patch[]
- --patch-with-raw::
- Synonym for `-p --raw`.
- endif::git-format-patch[]
- ifdef::git-log[]
- -t::
- Show the tree objects in the diff output.
- endif::git-log[]
- --indent-heuristic::
- Enable the heuristic that shifts diff hunk boundaries to make patches
- easier to read. This is the default.
- --no-indent-heuristic::
- Disable the indent heuristic.
- --minimal::
- Spend extra time to make sure the smallest possible
- diff is produced.
- --patience::
- Generate a diff using the "patience diff" algorithm.
- --histogram::
- Generate a diff using the "histogram diff" algorithm.
- --anchored=<text>::
- Generate a diff using the "anchored diff" algorithm.
- +
- This option may be specified more than once.
- +
- If a line exists in both the source and destination, exists only once,
- and starts with this text, this algorithm attempts to prevent it from
- appearing as a deletion or addition in the output. It uses the "patience
- diff" algorithm internally.
- --diff-algorithm={patience|minimal|histogram|myers}::
- Choose a diff algorithm. The variants are as follows:
- +
- --
- `default`, `myers`;;
- The basic greedy diff algorithm. Currently, this is the default.
- `minimal`;;
- Spend extra time to make sure the smallest possible diff is
- produced.
- `patience`;;
- Use "patience diff" algorithm when generating patches.
- `histogram`;;
- This algorithm extends the patience algorithm to "support
- low-occurrence common elements".
- --
- +
- For instance, if you configured the `diff.algorithm` variable to a
- non-default value and want to use the default one, then you
- have to use `--diff-algorithm=default` option.
- --stat[=<width>[,<name-width>[,<count>]]]::
- Generate a diffstat. By default, as much space as necessary
- will be used for the filename part, and the rest for the graph
- part. Maximum width defaults to terminal width, or 80 columns
- if not connected to a terminal, and can be overridden by
- `<width>`. The width of the filename part can be limited by
- giving another width `<name-width>` after a comma. The width
- of the graph part can be limited by using
- `--stat-graph-width=<width>` (affects all commands generating
- a stat graph) or by setting `diff.statGraphWidth=<width>`
- (does not affect `git format-patch`).
- By giving a third parameter `<count>`, you can limit the
- output to the first `<count>` lines, followed by `...` if
- there are more.
- +
- These parameters can also be set individually with `--stat-width=<width>`,
- `--stat-name-width=<name-width>` and `--stat-count=<count>`.
- --compact-summary::
- Output a condensed summary of extended header information such
- as file creations or deletions ("new" or "gone", optionally "+l"
- if it's a symlink) and mode changes ("+x" or "-x" for adding
- or removing executable bit respectively) in diffstat. The
- information is put between the filename part and the graph
- part. Implies `--stat`.
- --numstat::
- Similar to `--stat`, but shows number of added and
- deleted lines in decimal notation and pathname without
- abbreviation, to make it more machine friendly. For
- binary files, outputs two `-` instead of saying
- `0 0`.
- --shortstat::
- Output only the last line of the `--stat` format containing total
- number of modified files, as well as number of added and deleted
- lines.
- -X[<param1,param2,...>]::
- --dirstat[=<param1,param2,...>]::
- Output the distribution of relative amount of changes for each
- sub-directory. The behavior of `--dirstat` can be customized by
- passing it a comma separated list of parameters.
- The defaults are controlled by the `diff.dirstat` configuration
- variable (see linkgit:git-config[1]).
- The following parameters are available:
- +
- --
- `changes`;;
- Compute the dirstat numbers by counting the lines that have been
- removed from the source, or added to the destination. This ignores
- the amount of pure code movements within a file. In other words,
- rearranging lines in a file is not counted as much as other changes.
- This is the default behavior when no parameter is given.
- `lines`;;
- Compute the dirstat numbers by doing the regular line-based diff
- analysis, and summing the removed/added line counts. (For binary
- files, count 64-byte chunks instead, since binary files have no
- natural concept of lines). This is a more expensive `--dirstat`
- behavior than the `changes` behavior, but it does count rearranged
- lines within a file as much as other changes. The resulting output
- is consistent with what you get from the other `--*stat` options.
- `files`;;
- Compute the dirstat numbers by counting the number of files changed.
- Each changed file counts equally in the dirstat analysis. This is
- the computationally cheapest `--dirstat` behavior, since it does
- not have to look at the file contents at all.
- `cumulative`;;
- Count changes in a child directory for the parent directory as well.
- Note that when using `cumulative`, the sum of the percentages
- reported may exceed 100%. The default (non-cumulative) behavior can
- be specified with the `noncumulative` parameter.
- <limit>;;
- An integer parameter specifies a cut-off percent (3% by default).
- Directories contributing less than this percentage of the changes
- are not shown in the output.
- --
- +
- Example: The following will count changed files, while ignoring
- directories with less than 10% of the total amount of changed files,
- and accumulating child directory counts in the parent directories:
- `--dirstat=files,10,cumulative`.
- --cumulative::
- Synonym for --dirstat=cumulative
- --dirstat-by-file[=<param1,param2>...]::
- Synonym for --dirstat=files,param1,param2...
- --summary::
- Output a condensed summary of extended header information
- such as creations, renames and mode changes.
- ifndef::git-format-patch[]
- --patch-with-stat::
- Synonym for `-p --stat`.
- endif::git-format-patch[]
- ifndef::git-format-patch[]
- -z::
- ifdef::git-log[]
- Separate the commits with NULs instead of with new newlines.
- +
- Also, when `--raw` or `--numstat` has been given, do not munge
- pathnames and use NULs as output field terminators.
- endif::git-log[]
- ifndef::git-log[]
- When `--raw`, `--numstat`, `--name-only` or `--name-status` has been
- given, do not munge pathnames and use NULs as output field terminators.
- endif::git-log[]
- +
- Without this option, pathnames with "unusual" characters are quoted as
- explained for the configuration variable `core.quotePath` (see
- linkgit:git-config[1]).
- --name-only::
- Show only names of changed files.
- --name-status::
- Show only names and status of changed files. See the description
- of the `--diff-filter` option on what the status letters mean.
- --submodule[=<format>]::
- Specify how differences in submodules are shown. When specifying
- `--submodule=short` the 'short' format is used. This format just
- shows the names of the commits at the beginning and end of the range.
- When `--submodule` or `--submodule=log` is specified, the 'log'
- format is used. This format lists the commits in the range like
- linkgit:git-submodule[1] `summary` does. When `--submodule=diff`
- is specified, the 'diff' format is used. This format shows an
- inline diff of the changes in the submodule contents between the
- commit range. Defaults to `diff.submodule` or the 'short' format
- if the config option is unset.
- --color[=<when>]::
- Show colored diff.
- `--color` (i.e. without '=<when>') is the same as `--color=always`.
- '<when>' can be one of `always`, `never`, or `auto`.
- ifdef::git-diff[]
- It can be changed by the `color.ui` and `color.diff`
- configuration settings.
- endif::git-diff[]
- --no-color::
- Turn off colored diff.
- ifdef::git-diff[]
- This can be used to override configuration settings.
- endif::git-diff[]
- It is the same as `--color=never`.
- --color-moved[=<mode>]::
- Moved lines of code are colored differently.
- ifdef::git-diff[]
- It can be changed by the `diff.colorMoved` configuration setting.
- endif::git-diff[]
- The <mode> defaults to 'no' if the option is not given
- and to 'zebra' if the option with no mode is given.
- The mode must be one of:
- +
- --
- no::
- Moved lines are not highlighted.
- default::
- Is a synonym for `zebra`. This may change to a more sensible mode
- in the future.
- plain::
- Any line that is added in one location and was removed
- in another location will be colored with 'color.diff.newMoved'.
- Similarly 'color.diff.oldMoved' will be used for removed lines
- that are added somewhere else in the diff. This mode picks up any
- moved line, but it is not very useful in a review to determine
- if a block of code was moved without permutation.
- blocks::
- Blocks of moved text of at least 20 alphanumeric characters
- are detected greedily. The detected blocks are
- painted using either the 'color.diff.{old,new}Moved' color.
- Adjacent blocks cannot be told apart.
- zebra::
- Blocks of moved text are detected as in 'blocks' mode. The blocks
- are painted using either the 'color.diff.{old,new}Moved' color or
- 'color.diff.{old,new}MovedAlternative'. The change between
- the two colors indicates that a new block was detected.
- dimmed-zebra::
- Similar to 'zebra', but additional dimming of uninteresting parts
- of moved code is performed. The bordering lines of two adjacent
- blocks are considered interesting, the rest is uninteresting.
- `dimmed_zebra` is a deprecated synonym.
- --
- --no-color-moved::
- Turn off move detection. This can be used to override configuration
- settings. It is the same as `--color-moved=no`.
- --color-moved-ws=<modes>::
- This configures how whitespace is ignored when performing the
- move detection for `--color-moved`.
- ifdef::git-diff[]
- It can be set by the `diff.colorMovedWS` configuration setting.
- endif::git-diff[]
- These modes can be given as a comma separated list:
- +
- --
- no::
- Do not ignore whitespace when performing move detection.
- ignore-space-at-eol::
- Ignore changes in whitespace at EOL.
- ignore-space-change::
- Ignore changes in amount of whitespace. This ignores whitespace
- at line end, and considers all other sequences of one or
- more whitespace characters to be equivalent.
- ignore-all-space::
- Ignore whitespace when comparing lines. This ignores differences
- even if one line has whitespace where the other line has none.
- allow-indentation-change::
- Initially ignore any whitespace in the move detection, then
- group the moved code blocks only into a block if the change in
- whitespace is the same per line. This is incompatible with the
- other modes.
- --
- --no-color-moved-ws::
- Do not ignore whitespace when performing move detection. This can be
- used to override configuration settings. It is the same as
- `--color-moved-ws=no`.
- --word-diff[=<mode>]::
- Show a word diff, using the <mode> to delimit changed words.
- By default, words are delimited by whitespace; see
- `--word-diff-regex` below. The <mode> defaults to 'plain', and
- must be one of:
- +
- --
- color::
- Highlight changed words using only colors. Implies `--color`.
- plain::
- Show words as `[-removed-]` and `{+added+}`. Makes no
- attempts to escape the delimiters if they appear in the input,
- so the output may be ambiguous.
- porcelain::
- Use a special line-based format intended for script
- consumption. Added/removed/unchanged runs are printed in the
- usual unified diff format, starting with a `+`/`-`/` `
- character at the beginning of the line and extending to the
- end of the line. Newlines in the input are represented by a
- tilde `~` on a line of its own.
- none::
- Disable word diff again.
- --
- +
- Note that despite the name of the first mode, color is used to
- highlight the changed parts in all modes if enabled.
- --word-diff-regex=<regex>::
- Use <regex> to decide what a word is, instead of considering
- runs of non-whitespace to be a word. Also implies
- `--word-diff` unless it was already enabled.
- +
- Every non-overlapping match of the
- <regex> is considered a word. Anything between these matches is
- considered whitespace and ignored(!) for the purposes of finding
- differences. You may want to append `|[^[:space:]]` to your regular
- expression to make sure that it matches all non-whitespace characters.
- A match that contains a newline is silently truncated(!) at the
- newline.
- +
- For example, `--word-diff-regex=.` will treat each character as a word
- and, correspondingly, show differences character by character.
- +
- The regex can also be set via a diff driver or configuration option, see
- linkgit:gitattributes[5] or linkgit:git-config[1]. Giving it explicitly
- overrides any diff driver or configuration setting. Diff drivers
- override configuration settings.
- --color-words[=<regex>]::
- Equivalent to `--word-diff=color` plus (if a regex was
- specified) `--word-diff-regex=<regex>`.
- endif::git-format-patch[]
- --no-renames::
- Turn off rename detection, even when the configuration
- file gives the default to do so.
- --[no-]rename-empty::
- Whether to use empty blobs as rename source.
- ifndef::git-format-patch[]
- --check::
- Warn if changes introduce conflict markers or whitespace errors.
- What are considered whitespace errors is controlled by `core.whitespace`
- configuration. By default, trailing whitespaces (including
- lines that consist solely of whitespaces) and a space character
- that is immediately followed by a tab character inside the
- initial indent of the line are considered whitespace errors.
- Exits with non-zero status if problems are found. Not compatible
- with --exit-code.
- --ws-error-highlight=<kind>::
- Highlight whitespace errors in the `context`, `old` or `new`
- lines of the diff. Multiple values are separated by comma,
- `none` resets previous values, `default` reset the list to
- `new` and `all` is a shorthand for `old,new,context`. When
- this option is not given, and the configuration variable
- `diff.wsErrorHighlight` is not set, only whitespace errors in
- `new` lines are highlighted. The whitespace errors are colored
- with `color.diff.whitespace`.
- endif::git-format-patch[]
- --full-index::
- Instead of the first handful of characters, show the full
- pre- and post-image blob object names on the "index"
- line when generating patch format output.
- --binary::
- In addition to `--full-index`, output a binary diff that
- can be applied with `git-apply`. Implies `--patch`.
- --abbrev[=<n>]::
- Instead of showing the full 40-byte hexadecimal object
- name in diff-raw format output and diff-tree header
- lines, show only a partial prefix.
- In diff-patch output format, `--full-index` takes higher
- precedence, i.e. if `--full-index` is specified, full blob
- names will be shown regardless of `--abbrev`.
- Non default number of digits can be specified with `--abbrev=<n>`.
- -B[<n>][/<m>]::
- --break-rewrites[=[<n>][/<m>]]::
- Break complete rewrite changes into pairs of delete and
- create. This serves two purposes:
- +
- It affects the way a change that amounts to a total rewrite of a file
- not as a series of deletion and insertion mixed together with a very
- few lines that happen to match textually as the context, but as a
- single deletion of everything old followed by a single insertion of
- everything new, and the number `m` controls this aspect of the -B
- option (defaults to 60%). `-B/70%` specifies that less than 30% of the
- original should remain in the result for Git to consider it a total
- rewrite (i.e. otherwise the resulting patch will be a series of
- deletion and insertion mixed together with context lines).
- +
- When used with -M, a totally-rewritten file is also considered as the
- source of a rename (usually -M only considers a file that disappeared
- as the source of a rename), and the number `n` controls this aspect of
- the -B option (defaults to 50%). `-B20%` specifies that a change with
- addition and deletion compared to 20% or more of the file's size are
- eligible for being picked up as a possible source of a rename to
- another file.
- -M[<n>]::
- --find-renames[=<n>]::
- ifndef::git-log[]
- Detect renames.
- endif::git-log[]
- ifdef::git-log[]
- If generating diffs, detect and report renames for each commit.
- For following files across renames while traversing history, see
- `--follow`.
- endif::git-log[]
- If `n` is specified, it is a threshold on the similarity
- index (i.e. amount of addition/deletions compared to the
- file's size). For example, `-M90%` means Git should consider a
- delete/add pair to be a rename if more than 90% of the file
- hasn't changed. Without a `%` sign, the number is to be read as
- a fraction, with a decimal point before it. I.e., `-M5` becomes
- 0.5, and is thus the same as `-M50%`. Similarly, `-M05` is
- the same as `-M5%`. To limit detection to exact renames, use
- `-M100%`. The default similarity index is 50%.
- -C[<n>]::
- --find-copies[=<n>]::
- Detect copies as well as renames. See also `--find-copies-harder`.
- If `n` is specified, it has the same meaning as for `-M<n>`.
- --find-copies-harder::
- For performance reasons, by default, `-C` option finds copies only
- if the original file of the copy was modified in the same
- changeset. This flag makes the command
- inspect unmodified files as candidates for the source of
- copy. This is a very expensive operation for large
- projects, so use it with caution. Giving more than one
- `-C` option has the same effect.
- -D::
- --irreversible-delete::
- Omit the preimage for deletes, i.e. print only the header but not
- the diff between the preimage and `/dev/null`. The resulting patch
- is not meant to be applied with `patch` or `git apply`; this is
- solely for people who want to just concentrate on reviewing the
- text after the change. In addition, the output obviously lacks
- enough information to apply such a patch in reverse, even manually,
- hence the name of the option.
- +
- When used together with `-B`, omit also the preimage in the deletion part
- of a delete/create pair.
- -l<num>::
- The `-M` and `-C` options require O(n^2) processing time where n
- is the number of potential rename/copy targets. This
- option prevents rename/copy detection from running if
- the number of rename/copy targets exceeds the specified
- number.
- ifndef::git-format-patch[]
- --diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]::
- Select only files that are Added (`A`), Copied (`C`),
- Deleted (`D`), Modified (`M`), Renamed (`R`), have their
- type (i.e. regular file, symlink, submodule, ...) changed (`T`),
- are Unmerged (`U`), are
- Unknown (`X`), or have had their pairing Broken (`B`).
- Any combination of the filter characters (including none) can be used.
- When `*` (All-or-none) is added to the combination, all
- paths are selected if there is any file that matches
- other criteria in the comparison; if there is no file
- that matches other criteria, nothing is selected.
- +
- Also, these upper-case letters can be downcased to exclude. E.g.
- `--diff-filter=ad` excludes added and deleted paths.
- +
- Note that not all diffs can feature all types. For instance, diffs
- from the index to the working tree can never have Added entries
- (because the set of paths included in the diff is limited by what is in
- the index). Similarly, copied and renamed entries cannot appear if
- detection for those types is disabled.
- -S<string>::
- Look for differences that change the number of occurrences of
- the specified string (i.e. addition/deletion) in a file.
- Intended for the scripter's use.
- +
- It is useful when you're looking for an exact block of code (like a
- struct), and want to know the history of that block since it first
- came into being: use the feature iteratively to feed the interesting
- block in the preimage back into `-S`, and keep going until you get the
- very first version of the block.
- +
- Binary files are searched as well.
- -G<regex>::
- Look for differences whose patch text contains added/removed
- lines that match <regex>.
- +
- To illustrate the difference between `-S<regex> --pickaxe-regex` and
- `-G<regex>`, consider a commit with the following diff in the same
- file:
- +
- ----
- + return frotz(nitfol, two->ptr, 1, 0);
- ...
- - hit = frotz(nitfol, mf2.ptr, 1, 0);
- ----
- +
- While `git log -G"frotz\(nitfol"` will show this commit, `git log
- -S"frotz\(nitfol" --pickaxe-regex` will not (because the number of
- occurrences of that string did not change).
- +
- Unless `--text` is supplied patches of binary files without a textconv
- filter will be ignored.
- +
- See the 'pickaxe' entry in linkgit:gitdiffcore[7] for more
- information.
- --find-object=<object-id>::
- Look for differences that change the number of occurrences of
- the specified object. Similar to `-S`, just the argument is different
- in that it doesn't search for a specific string but for a specific
- object id.
- +
- The object can be a blob or a submodule commit. It implies the `-t` option in
- `git-log` to also find trees.
- --pickaxe-all::
- When `-S` or `-G` finds a change, show all the changes in that
- changeset, not just the files that contain the change
- in <string>.
- --pickaxe-regex::
- Treat the <string> given to `-S` as an extended POSIX regular
- expression to match.
- endif::git-format-patch[]
- -O<orderfile>::
- Control the order in which files appear in the output.
- This overrides the `diff.orderFile` configuration variable
- (see linkgit:git-config[1]). To cancel `diff.orderFile`,
- use `-O/dev/null`.
- +
- The output order is determined by the order of glob patterns in
- <orderfile>.
- All files with pathnames that match the first pattern are output
- first, all files with pathnames that match the second pattern (but not
- the first) are output next, and so on.
- All files with pathnames that do not match any pattern are output
- last, as if there was an implicit match-all pattern at the end of the
- file.
- If multiple pathnames have the same rank (they match the same pattern
- but no earlier patterns), their output order relative to each other is
- the normal order.
- +
- <orderfile> is parsed as follows:
- +
- --
- - Blank lines are ignored, so they can be used as separators for
- readability.
- - Lines starting with a hash ("`#`") are ignored, so they can be used
- for comments. Add a backslash ("`\`") to the beginning of the
- pattern if it starts with a hash.
- - Each other line contains a single pattern.
- --
- +
- Patterns have the same syntax and semantics as patterns used for
- fnmatch(3) without the FNM_PATHNAME flag, except a pathname also
- matches a pattern if removing any number of the final pathname
- components matches the pattern. For example, the pattern "`foo*bar`"
- matches "`fooasdfbar`" and "`foo/bar/baz/asdf`" but not "`foobarx`".
- ifndef::git-format-patch[]
- -R::
- Swap two inputs; that is, show differences from index or
- on-disk file to tree contents.
- endif::git-format-patch[]
- --relative[=<path>]::
- --no-relative::
- When run from a subdirectory of the project, it can be
- told to exclude changes outside the directory and show
- pathnames relative to it with this option. When you are
- not in a subdirectory (e.g. in a bare repository), you
- can name which subdirectory to make the output relative
- to by giving a <path> as an argument.
- `--no-relative` can be used to countermand both `diff.relative` config
- option and previous `--relative`.
- -a::
- --text::
- Treat all files as text.
- --ignore-cr-at-eol::
- Ignore carriage-return at the end of line when doing a comparison.
- --ignore-space-at-eol::
- Ignore changes in whitespace at EOL.
- -b::
- --ignore-space-change::
- Ignore changes in amount of whitespace. This ignores whitespace
- at line end, and considers all other sequences of one or
- more whitespace characters to be equivalent.
- -w::
- --ignore-all-space::
- Ignore whitespace when comparing lines. This ignores
- differences even if one line has whitespace where the other
- line has none.
- --ignore-blank-lines::
- Ignore changes whose lines are all blank.
- --inter-hunk-context=<lines>::
- Show the context between diff hunks, up to the specified number
- of lines, thereby fusing hunks that are close to each other.
- Defaults to `diff.interHunkContext` or 0 if the config option
- is unset.
- -W::
- --function-context::
- Show whole surrounding functions of changes.
- ifndef::git-format-patch[]
- ifndef::git-log[]
- --exit-code::
- Make the program exit with codes similar to diff(1).
- That is, it exits with 1 if there were differences and
- 0 means no differences.
- --quiet::
- Disable all output of the program. Implies `--exit-code`.
- endif::git-log[]
- endif::git-format-patch[]
- --ext-diff::
- Allow an external diff helper to be executed. If you set an
- external diff driver with linkgit:gitattributes[5], you need
- to use this option with linkgit:git-log[1] and friends.
- --no-ext-diff::
- Disallow external diff drivers.
- --textconv::
- --no-textconv::
- Allow (or disallow) external text conversion filters to be run
- when comparing binary files. See linkgit:gitattributes[5] for
- details. Because textconv filters are typically a one-way
- conversion, the resulting diff is suitable for human
- consumption, but cannot be applied. For this reason, textconv
- filters are enabled by default only for linkgit:git-diff[1] and
- linkgit:git-log[1], but not for linkgit:git-format-patch[1] or
- diff plumbing commands.
- --ignore-submodules[=<when>]::
- Ignore changes to submodules in the diff generation. <when> can be
- either "none", "untracked", "dirty" or "all", which is the default.
- Using "none" will consider the submodule modified when it either contains
- untracked or modified files or its HEAD differs from the commit recorded
- in the superproject and can be used to override any settings of the
- 'ignore' option in linkgit:git-config[1] or linkgit:gitmodules[5]. When
- "untracked" is used submodules are not considered dirty when they only
- contain untracked content (but they are still scanned for modified
- content). Using "dirty" ignores all changes to the work tree of submodules,
- only changes to the commits stored in the superproject are shown (this was
- the behavior until 1.7.0). Using "all" hides all changes to submodules.
- --src-prefix=<prefix>::
- Show the given source prefix instead of "a/".
- --dst-prefix=<prefix>::
- Show the given destination prefix instead of "b/".
- --no-prefix::
- Do not show any source or destination prefix.
- --line-prefix=<prefix>::
- Prepend an additional prefix to every line of output.
- --ita-invisible-in-index::
- By default entries added by "git add -N" appear as an existing
- empty file in "git diff" and a new file in "git diff --cached".
- This option makes the entry appear as a new file in "git diff"
- and non-existent in "git diff --cached". This option could be
- reverted with `--ita-visible-in-index`. Both options are
- experimental and could be removed in future.
- For more detailed explanation on these common options, see also
- linkgit:gitdiffcore[7].
|