sha1_name: implement @{push} shorthand
[gitweb.git] / Documentation / git-diff.txt
index 78d6d50489502638013509fbf72c811b50bfee86..bbab35fcaff35ccd5459251550924a42ce2c871e 100644 (file)
@@ -28,10 +28,15 @@ two blob objects, or changes between two files on disk.
        words, the differences are what you _could_ tell Git to
        further add to the index but you still haven't.  You can
        stage these changes by using linkgit:git-add[1].
-+
-If exactly two paths are given and at least one points outside
-the current repository, 'git diff' will compare the two files /
-directories. This behavior can be forced by --no-index.
+
+'git diff' --no-index [--options] [--] [<path>...]::
+
+       This form is to compare the given two paths on the
+       filesystem.  You can omit the `--no-index` option when
+       running the command in a working tree controlled by Git and
+       at least one of the paths points outside the working tree,
+       or when running the command outside a working tree
+       controlled by Git.
 
 'git diff' [--options] --cached [<commit>] [--] [<path>...]::
 
@@ -39,7 +44,7 @@ directories. This behavior can be forced by --no-index.
        commit relative to the named <commit>.  Typically you
        would want comparison with the latest commit, so if you
        do not give <commit>, it defaults to HEAD.
-       If HEAD does not exist (e.g. unborned branches) and
+       If HEAD does not exist (e.g. unborn branches) and
        <commit> is not given, it shows all staged changes.
        --staged is a synonym of --cached.
 
@@ -153,8 +158,8 @@ $ git diff --name-status                <2>
 $ git diff arch/i386 include/asm-i386   <3>
 ------------
 +
-<1> Show only modification, rename and copy, but not addition
-nor deletion.
+<1> Show only modification, rename, and copy, but not addition
+or deletion.
 <2> Show only names and the nature of change, but not actual
 diff output.
 <3> Limit diff output to named subtrees.