Documentation / diff-options.txton commit user-manual: SHA1 -> object name (d55ae92)
   1-p::
   2        Generate patch (see section on generating patches)
   3
   4-u::
   5        Synonym for "-p".
   6
   7--raw::
   8        Generate the raw format.
   9
  10--patch-with-raw::
  11        Synonym for "-p --raw".
  12
  13--stat[=width[,name-width]]::
  14        Generate a diffstat.  You can override the default
  15        output width for 80-column terminal by "--stat=width".
  16        The width of the filename part can be controlled by
  17        giving another width to it separated by a comma.
  18
  19--numstat::
  20        Similar to \--stat, but shows number of added and
  21        deleted lines in decimal notation and pathname without
  22        abbreviation, to make it more machine friendly.  For
  23        binary files, outputs two `-` instead of saying
  24        `0 0`.
  25
  26--shortstat::
  27        Output only the last line of the --stat format containing total
  28        number of modified files, as well as number of added and deleted
  29        lines.
  30
  31--summary::
  32        Output a condensed summary of extended header information
  33        such as creations, renames and mode changes.
  34
  35--patch-with-stat::
  36        Synonym for "-p --stat".
  37
  38-z::
  39        \0 line termination on output
  40
  41--name-only::
  42        Show only names of changed files.
  43
  44--name-status::
  45        Show only names and status of changed files.
  46
  47--color::
  48        Show colored diff.
  49
  50--no-color::
  51        Turn off colored diff, even when the configuration file
  52        gives the default to color output.
  53
  54--color-words::
  55        Show colored word diff, i.e. color words which have changed.
  56
  57--no-renames::
  58        Turn off rename detection, even when the configuration
  59        file gives the default to do so.
  60
  61--full-index::
  62        Instead of the first handful characters, show full
  63        object name of pre- and post-image blob on the "index"
  64        line when generating a patch format output.
  65
  66--binary::
  67        In addition to --full-index, output "binary diff" that
  68        can be applied with "git apply".
  69
  70--abbrev[=<n>]::
  71        Instead of showing the full 40-byte hexadecimal object
  72        name in diff-raw format output and diff-tree header
  73        lines, show only handful hexdigits prefix.  This is
  74        independent of --full-index option above, which controls
  75        the diff-patch output format.  Non default number of
  76        digits can be specified with --abbrev=<n>.
  77
  78-B::
  79        Break complete rewrite changes into pairs of delete and create.
  80
  81-M::
  82        Detect renames.
  83
  84-C::
  85        Detect copies as well as renames.
  86
  87--diff-filter=[ACDMRTUXB*]::
  88        Select only files that are Added (`A`), Copied (`C`),
  89        Deleted (`D`), Modified (`M`), Renamed (`R`), have their
  90        type (mode) changed (`T`), are Unmerged (`U`), are
  91        Unknown (`X`), or have had their pairing Broken (`B`).
  92        Any combination of the filter characters may be used.
  93        When `*` (All-or-none) is added to the combination, all
  94        paths are selected if there is any file that matches
  95        other criteria in the comparison; if there is no file
  96        that matches other criteria, nothing is selected.
  97
  98--find-copies-harder::
  99        For performance reasons, by default, -C option finds copies only 
 100        if the original file of the copy was modified in the same 
 101        changeset.  This flag makes the command
 102        inspect unmodified files as candidates for the source of
 103        copy.  This is a very expensive operation for large
 104        projects, so use it with caution.
 105
 106-l<num>::
 107        -M and -C options require O(n^2) processing time where n
 108        is the number of potential rename/copy targets.  This
 109        option prevents rename/copy detection from running if
 110        the number of rename/copy targets exceeds the specified
 111        number.
 112
 113-S<string>::
 114        Look for differences that contain the change in <string>.
 115
 116--pickaxe-all::
 117        When -S finds a change, show all the changes in that
 118        changeset, not just the files that contain the change
 119        in <string>.
 120
 121--pickaxe-regex::
 122        Make the <string> not a plain string but an extended POSIX
 123        regex to match.
 124
 125-O<orderfile>::
 126        Output the patch in the order specified in the
 127        <orderfile>, which has one shell glob pattern per line.
 128
 129-R::
 130        Swap two inputs; that is, show differences from index or
 131        on-disk file to tree contents.
 132
 133--text::
 134        Treat all files as text.
 135
 136-a::
 137        Shorthand for "--text".
 138
 139--ignore-space-change::
 140        Ignore changes in amount of white space.  This ignores white
 141        space at line end, and consider all other sequences of one or
 142        more white space characters to be equivalent.
 143
 144-b::
 145        Shorthand for "--ignore-space-change".
 146
 147--ignore-all-space::
 148        Ignore white space when comparing lines.  This ignores
 149        difference even if one line has white space where the other
 150        line has none.
 151
 152-w::
 153        Shorthand for "--ignore-all-space".
 154
 155For more detailed explanation on these common options, see also
 156link:diffcore.html[diffcore documentation].