1-p:: 2 Generate patch (see section on generating patches) 3 4-u:: 5 Synonym for "-p". 6 7-r:: 8 Look recursively in subdirectories; only used by "git-diff-tree"; 9 other diff commands always work recursively. 10 11-z:: 12 \0 line termination on output 13 14--name-only:: 15 Show only names of changed files. 16 17--name-status:: 18 Show only names and status of changed files. 19 20-B:: 21 Break complete rewrite changes into pairs of delete and create. 22 23-M:: 24 Detect renames. 25 26-C:: 27 Detect copies as well as renames. 28 29--find-copies-harder:: 30 For performance reasons, by default, -C option finds copies only 31 if the original file of the copy was modified in the same 32 changeset. This flag makes the command 33 inspect unmodified files as candidates for the source of 34 copy. This is a very expensive operation for large 35 projects, so use it with caution. 36 37-l<num>:: 38 -M and -C options require O(n^2) processing time where n 39 is the number of potential rename/copy targets. This 40 option prevents rename/copy detection from running if 41 the number of rename/copy targets exceeds the specified 42 number. 43 44-S<string>:: 45 Look for differences that contain the change in <string>. 46 47--pickaxe-all:: 48 When -S finds a change, show all the changes in that 49 changeset, not just the files that contain the change 50 in <string>. 51 52-O<orderfile>:: 53 Output the patch in the order specified in the 54 <orderfile>, which has one shell glob pattern per line. 55 56-R:: 57 Swap two inputs; that is, show differences from cache or 58 on-disk file to tree contents. 59 60For more detailed explanation on these common options, see also 61link:diffcore.html[diffcore documentation].