You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
4.2 KiB
141 lines
4.2 KiB
git-diff-tree(1) |
|
================ |
|
|
|
NAME |
|
---- |
|
git-diff-tree - Compares the content and mode of blobs found via two tree objects |
|
|
|
|
|
SYNOPSIS |
|
-------- |
|
'git-diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty] [-t] [-r] [--root] [<common diff options>] <tree-ish> [<tree-ish>] [<path>...] |
|
|
|
DESCRIPTION |
|
----------- |
|
Compares the content and mode of the 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 these prefix strings. |
|
ie file matches `/^<pattern1>|<pattern2>|.../` |
|
Note that this parameter does not provide any wildcard or regexp |
|
features. |
|
|
|
-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 showed as a big |
|
creation event. This is equivalent to a diff against the NULL tree. |
|
|
|
--stdin:: |
|
When '--stdin' is specified, the command does not take |
|
<tree-ish> arguments from the command line. Instead, it |
|
reads either one <commit> or a pair of <tree-ish> |
|
separated with a single space from its standard input. |
|
+ |
|
When a single commit is given on one line of such input, it compares |
|
the commit with its parents. The following flags further affects its |
|
behaviour. This does not apply to the case where two <tree-ish> |
|
separated with a single space are given. |
|
|
|
-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. |
|
|
|
-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 supressed. It is |
|
only useful with '-v' flag. |
|
|
|
-v:: |
|
This flag causes "git-diff-tree --stdin" to also show |
|
the commit message before the differences. |
|
|
|
--pretty[=(raw|medium|short)]:: |
|
This is used to control "pretty printing" format of the |
|
commit message. Without "=<style>", it defaults to |
|
medium. |
|
|
|
--no-commit-id:: |
|
git-diff-tree outputs a line with the commit ID when |
|
applicable. This flag suppressed the commit ID output. |
|
|
|
|
|
Limiting Output |
|
--------------- |
|
If you're only interested in differences in a subset of files, for |
|
example some architecture-specific files, you might do: |
|
|
|
git-diff-tree -r <tree-ish> <tree-ish> arch/ia64 include/asm-ia64 |
|
|
|
and it will only show you what changed in those two directories. |
|
|
|
Or if you are searching for what changed in just `kernel/sched.c`, just do |
|
|
|
git-diff-tree -r <tree-ish> <tree-ish> kernel/sched.c |
|
|
|
and it will ignore all differences to other files. |
|
|
|
The pattern is always the prefix, and is matched exactly. There are no |
|
wildcards. Even stricter, it has to match a complete path component. |
|
I.e. "foo" does not pick up `foobar.h`. "foo" does match `foo/bar.h` |
|
so it can be used to name subdirectories. |
|
|
|
An example of normal usage is: |
|
|
|
torvalds@ppc970:~/git> git-diff-tree 5319e4...... |
|
*100664->100664 blob ac348b.......->a01513....... git-fsck-objects.c |
|
|
|
which tells you that the last commit changed just one file (it's from |
|
this one: |
|
|
|
----------------------------------------------------------------------------- |
|
commit 3c6f7ca19ad4043e9e72fa94106f352897e651a8 |
|
tree 5319e4d609cdd282069cc4dce33c1db559539b03 |
|
parent b4e628ea30d5ab3606119d2ea5caeab141d38df7 |
|
author Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 2005 |
|
committer Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 2005 |
|
|
|
Make "git-fsck-objects" print out all the root commits it finds. |
|
|
|
Once I do the reference tracking, I'll also make it print out all the |
|
HEAD commits it finds, which is even more interesting. |
|
----------------------------------------------------------------------------- |
|
|
|
in case you care). |
|
|
|
Output format |
|
------------- |
|
include::diff-format.txt[] |
|
|
|
|
|
Author |
|
------ |
|
Written by Linus Torvalds <torvalds@osdl.org> |
|
|
|
Documentation |
|
-------------- |
|
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>. |
|
|
|
GIT |
|
--- |
|
Part of the gitlink:git[7] suite |
|
|
|
|