SYNOPSIS
--------
-'git-diff-cache' [-p] [-r] [-z] [-m] [-M] [-R] [-C] [--cached] <tree-ish>
+'git-diff-cache' [-m] [--cached] [<common diff options>] <tree-ish> [<path>...]
DESCRIPTION
-----------
-Compares the content and mode of the blobs found via a tree object
-with the content of the current cache and, optionally ignoring the
-stat state of the file on disk.
+Compares the content and mode of the blobs found via a tree
+object with the content of the current cache and, optionally
+ignoring the stat state of the file on disk. When paths are
+specified, compares only those named paths. Otherwise all
+entries in the cache are compared.
OPTIONS
-------
+include::diff-options.txt[]
+
<tree-ish>::
The id of a tree object to diff against.
--p::
- Generate patch (see section on generating patches)
-
--r::
- This flag does not mean anything. It is there only to match
- "git-diff-tree". Unlike "git-diff-tree", "git-diff-cache"
- always looks at all the subdirectories.
-
--z::
- \0 line termination on output
-
--M::
- Detect renames; implies -p.
-
--C::
- Detect copies as well as renames; implies -p.
-
--R::
- Output diff in reverse.
-
--cached::
do not consider the on-disk file at all
-----------
If '--cached' is specified, it allows you to ask:
- show me the differences between HEAD and the current index
+ show me the differences between HEAD and the current cache
contents (the ones I'd write with a "git-write-tree")
-For example, let's say that you have worked on your index file, and are
-ready to commit. You want to see eactly *what* you are going to commit is
-without having to write a new tree object and compare it that way, and to
-do that, you just do
+For example, let's say that you have worked on your working directory, updated
+some files in the cache and are ready to commit. You want to see eactly
+*what* you are going to commit is without having to write a new tree
+object and compare it that way, and to do that, you just do
git-diff-cache --cached $(cat .git/HEAD)