summaryrefslogtreecommitdiff
path: root/Documentation/git-diff.txt
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-12-14 17:30:03 -0800
committerJunio C Hamano <junkio@cox.net>2005-12-14 17:30:03 -0800
commit1ed91937e5cd59fdbdfa5f15f6fac132d2b21ce0 (patch)
treef65b929c006c31043213152752ea0c80bf08b9e5 /Documentation/git-diff.txt
parenta9572072f0ab0ac97e64b0dc01254a3ad95befe1 (diff)
parent294c695d8cfbcf95a5c33fc6ba386f496964defb (diff)
GIT 0.99.9n aka 1.0rc6v1.0rc6v0.99.9n
Oh, I hate to do this but I ended up merging big usage string cleanups from Fredrik, git-am enhancements that made a lot of sense for non mbox users from HPA, and rebase changes (done independently by me and Lukas) among other things, so git is still in perpetual state of 1.0rc. 1.0 will probably be next Wednesday, but who knows. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'Documentation/git-diff.txt')
-rw-r--r--Documentation/git-diff.txt62
1 files changed, 62 insertions, 0 deletions
diff --git a/Documentation/git-diff.txt b/Documentation/git-diff.txt
index cf7527f5e9..b04f393bc4 100644
--- a/Documentation/git-diff.txt
+++ b/Documentation/git-diff.txt
@@ -40,6 +40,68 @@ OPTIONS
commands.
+EXAMPLES
+--------
+
+Various ways to check your working tree::
++
+------------
+$ git diff <1>
+$ git diff --cached <2>
+$ git diff HEAD <3>
+
+<1> changes in the working tree since your last git-update-index.
+<2> changes between the index and your last commit; what you
+would be committing if you run "git commit" without "-a" option.
+<3> changes in the working tree since your last commit; what you
+would be committing if you run "git commit -a"
+------------
+
+Comparing with arbitrary commits::
++
+------------
+$ git diff test <1>
+$ git diff HEAD -- ./test <2>
+$ git diff HEAD^ HEAD <3>
+
+<1> instead of using the tip of the current branch, compare with the
+tip of "test" branch.
+<2> instead of comparing with the tip of "test" branch, compare with
+the tip of the curren branch, but limit the comparison to the
+file "test".
+<3> compare the version before the last commit and the last commit.
+------------
+
+
+Limiting the diff output::
++
+------------
+$ git diff --diff-filter=MRC <1>
+$ git diff --name-status -r <2>
+$ git diff arch/i386 include/asm-i386 <3>
+
+<1> show only modification, rename and copy, but not addition
+nor deletion.
+<2> show only names and the nature of change, but not actual
+diff output. --name-status disables usual patch generation
+which in turn also disables recursive behaviour, so without -r
+you would only see the directory name if there is a change in a
+file in a subdirectory.
+<3> limit diff output to named subtrees.
+------------
+
+Munging the diff output::
++
+------------
+$ git diff --find-copies-harder -B -C <1>
+$ git diff -R <2>
+
+<1> spend extra cycles to find renames, copies and complete
+rewrites (very expensive).
+<2> output diff in reverse.
+------------
+
+
Author
------
Written by Linus Torvalds <torvalds@osdl.org>