git-diff-tree(1)
================

NAME
----
git-diff-tree - Compares the content and mode of blobs found via two tree objects


SYNOPSIS
--------
[verse]
'git diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]
	      [-t] [-r] [-c | --cc] [--combined-all-paths] [--root] [--merge-base]
	      [<common-diff-options>] <tree-ish> [<tree-ish>] [<path>...]

DESCRIPTION
-----------
Compare the content and mode of blobs found via two tree objects.

If there is only one <tree-ish> given, the commit is compared with its parents
(see --stdin below).

Note that 'git diff-tree' can use the tree encapsulated in a commit object.

OPTIONS
-------
include::diff-options.txt[]

<tree-ish>::
	The id of a tree object.

<path>...::
	If provided, the results are limited to a subset of files
	matching one of the provided pathspecs.

-r::
	Recurse into sub-trees.

-t::
	Show tree entry itself as well as subtrees.  Implies -r.

--root::
	When `--root` is specified the initial commit will be shown as a big
	creation event. This is equivalent to a diff against the NULL tree.

--merge-base::
	Instead of comparing the <tree-ish>s directly, use the merge
	base between the two <tree-ish>s as the "before" side.  There
	must be two <tree-ish>s given and they must both be commits.

--stdin::
	When `--stdin` is specified, the command does not take
	<tree-ish> arguments from the command line.  Instead, it
	reads lines containing either two <tree>, one <commit>, or a
	list of <commit> from its standard input.  (Use a single space
	as separator.)
+
When two trees are given, it compares the first tree with the second.
When a single commit is given, it compares the commit with its
parents.  The remaining commits, when given, are used as if they are
parents of the first commit.
+
When comparing two trees, the ID of both trees (separated by a space
and terminated by a newline) is printed before the difference.  When
comparing commits, the ID of the first (or only) commit, followed by a
newline, is printed.
+
The following flags further affect the behavior when comparing
commits (but not trees).

-m::
	By default, 'git diff-tree --stdin' does not show
	differences for merge commits.  With this flag, it shows
	differences to that commit from all of its parents. See
	also `-c`.

-s::
	By default, 'git diff-tree --stdin' shows differences,
	either in machine-readable form (without `-p`) or in patch
	form (with `-p`).  This output can be suppressed.  It is
	only useful with the `-v` flag.

-v::
	This flag causes 'git diff-tree --stdin' to also show
	the commit message before the differences.

include::pretty-options.txt[]

--no-commit-id::
	'git diff-tree' outputs a line with the commit ID when
	applicable.  This flag suppressed the commit ID output.

-c::
	This flag changes the way a merge commit is displayed
	(which means it is useful only when the command is given
	one <tree-ish>, or `--stdin`).  It shows the differences
	from each of the parents to the merge result simultaneously
	instead of showing pairwise diff between a parent and the
	result one at a time (which is what the `-m` option does).
	Furthermore, it lists only files which were modified
	from all parents.

--cc::
	This flag changes the way a merge commit patch is displayed,
	in a similar way to the `-c` option. It implies the `-c`
	and `-p` options and further compresses the patch output
	by omitting uninteresting hunks whose contents in the parents
	have only two variants and the merge result picks one of them
	without modification.  When all hunks are uninteresting, the commit
	itself and the commit log message are not shown, just like in any other
	"empty diff" case.

--combined-all-paths::
	This flag causes combined diffs (used for merge commits) to
	list the name of the file from all parents.  It thus only has
	effect when -c or --cc are specified, and is likely only
	useful if filename changes are detected (i.e. when either
	rename or copy detection have been requested).

--always::
	Show the commit itself and the commit log message even
	if the diff itself is empty.


include::pretty-formats.txt[]

include::diff-format.txt[]

GIT
---
Part of the linkgit:git[1] suite
