diff --git a/Documentation/core-git.txt b/Documentation/core-git.txt
index 5e702fd8320..7d3b09fd287 100644
--- a/Documentation/core-git.txt
+++ b/Documentation/core-git.txt
@@ -161,16 +161,16 @@ filenames. Just so that you wouldn't have a filename of "-a" causing
 problems (not possible in the above example, but get used to it in
 scripting!).
 
-The prefix ability basically makes it trivial to use git-checkout-cache as
-a "git-export as tree" function. Just read the desired tree into the
-index, and do a
+The prefix ability basically makes it trivial to use
+git-checkout-cache as an "export as tree" function. Just read the
+desired tree into the index, and do a
   
         git-checkout-cache --prefix=git-export-dir/ -a
   
-and git-checkout-cache will "git-export" the cache into the specified
+and git-checkout-cache will "export" the cache into the specified
 directory.
   
-NOTE! The final "/" is important. The git-exported name is literally just
+NOTE! The final "/" is important. The exported name is literally just
 prefixed with the specified string, so you can also do something like
   
         git-checkout-cache --prefix=.merged- Makefile
@@ -357,6 +357,33 @@ valid sha1, and the "not in sync with the index" ones will always have the
 special all-zero sha1.
 
 
+################################################################
+git-diff-files
+	git-diff-files [-p] [-q] [-r] [-z] [<pattern>...]
+
+Compares the files in the working tree and the cache.  When paths
+are specified, compares only those named paths.  Otherwise all
+entries in the cache are compared.  The output format is the
+same as git-diff-cache and git-diff-tree.
+
+-p
+	generate patch (see section on generating patches).
+
+-q
+	Remain silent even on nonexisting files
+
+-r
+	This flag does not mean anything.  It is there only to match
+	git-diff-tree.  Unlike git-diff-tree, git-diff-files always looks
+	at all the subdirectories.
+
+
+Output format:
+
+See "Output format from git-diff-cache, git-diff-tree and git-diff-files"
+section.
+
+
 ################################################################
 git-diff-tree
 	git-diff-tree [-p] [-r] [-z] [--stdin] [-m] [-s] [-v] <tree-ish> <tree-ish> [<pattern>]*
@@ -483,6 +510,14 @@ generates patch format output.
 See also the section on generating patches.
 
 
+################################################################
+git-export
+	git-export top [base]
+
+Exports each commit and diff against each of its parents, between
+top and base.  If base is not specified it exports everything.
+
+
 ################################################################
 git-fsck-cache
 	git-fsck-cache [--tags] [--root] [[--unreachable] [--cache] <object>*]
@@ -578,28 +613,6 @@ GIT_INDEX_FILE
 	used to specify the cache
 
 
-################################################################
-git-export
-	git-export top [base]
-
-Exports each commit and diff against each of its parents, between
-top and base.  If base is not specified it exports everything.
-
-
-################################################################
-git-init-db
-	git-init-db
-
-This simply creates an empty git object database - basically a .git
-directory and .git/object/??/ directories.
-
-If the object storage directory is specified via the SHA1_FILE_DIRECTORY
-environment variable then the sha1 directories are created underneath -
-otherwise the default .git/objects directory is used.
-
-git-init-db won't hurt an existing repository.
-
-
 ################################################################
 git-http-pull
 
@@ -617,6 +630,20 @@ Downloads a remote GIT repository via HTTP protocol.
 	Report what is downloaded.
 
 
+################################################################
+git-init-db
+	git-init-db
+
+This simply creates an empty git object database - basically a .git
+directory and .git/object/??/ directories.
+
+If the object storage directory is specified via the SHA1_FILE_DIRECTORY
+environment variable then the sha1 directories are created underneath -
+otherwise the default .git/objects directory is used.
+
+git-init-db won't hurt an existing repository.
+
+
 ################################################################
 git-local-pull
 
@@ -633,6 +660,81 @@ Downloads another GIT repository on a local system.
 -v
 	Report what is downloaded.
 
+################################################################
+git-ls-files
+	git-ls-files [-z] [-t]
+		(--[cached|deleted|others|ignored|stage|unmerged])*
+		(-[c|d|o|i|s|u])*
+		[-x <pattern>|--exclude=<pattern>]
+		[-X <file>|--exclude-from=<file>]
+
+This merges the file listing in the directory cache index with the
+actual working directory list, and shows different combinations of the
+two.
+
+One or more of the options below may be used to determine the files
+shown:
+
+-c|--cached
+	Show cached files in the output (default)
+
+-d|--deleted
+	Show deleted files in the output
+
+-o|--others
+	Show other files in the output
+
+-i|--ignored
+	Show ignored files in the output
+	Note the this also reverses any exclude list present.
+
+-s|--stage
+	Show stage files in the output
+
+-u|--unmerged
+	Show unmerged files in the output (forces --stage)
+
+-z
+	\0 line termination on output
+
+-x|--exclude=<pattern>
+	Skips files matching pattern.
+	Note that pattern is a shell wildcard pattern.
+
+-X|--exclude-from=<file>
+	exclude patterns are read from <file>; 1 per line.
+	Allows the use of the famous dontdiff file as follows to find
+	out about uncommitted files just as dontdiff is used with
+	the diff command:
+	     git-ls-files --others --exclude-from=dontdiff
+
+-t
+	Identify the file status with the following tags (followed by
+	a space) at the start of each line:
+	H	cached
+	M	unmerged
+	R	removed/deleted
+	?	other
+
+Output
+show files just outputs the filename unless --stage is specified in
+which case it outputs:
+
+[<tag> ]<mode> <object> <stage> <file>
+
+git-ls-files --unmerged" and "git-ls-files --stage " can be used to examine
+detailed information on unmerged paths.
+
+For an unmerged path, instead of recording a single mode/SHA1 pair,
+the dircache records up to three such pairs; one from tree O in stage
+1, A in stage 2, and B in stage 3.  This information can be used by
+the user (or Cogito) to see what should eventually be recorded at the
+path. (see read-cache for more information on state)
+
+see also:
+read-cache
+
+
 ################################################################
 git-ls-tree
 	git-ls-tree [-r] [-z] <tree-ish>
@@ -965,33 +1067,6 @@ git-rpush
 Helper "server-side" program used by git-rpull.
 
 
-################################################################
-git-diff-files
-	git-diff-files [-p] [-q] [-r] [-z] [<pattern>...]
-
-Compares the files in the working tree and the cache.  When paths
-are specified, compares only those named paths.  Otherwise all
-entries in the cache are compared.  The output format is the
-same as git-diff-cache and git-diff-tree.
-
--p
-	generate patch (see section on generating patches).
-
--q
-	Remain silent even on nonexisting files
-
--r
-	This flag does not mean anything.  It is there only to match
-	git-diff-tree.  Unlike git-diff-tree, git-diff-files always looks
-	at all the subdirectories.
-
-
-Output format:
-
-See "Output format from git-diff-cache, git-diff-tree and git-diff-files"
-section.
-
-
 ################################################################
 git-tag-script
 
@@ -1009,81 +1084,6 @@ When <base> is specified it is added as a leading path as the files in the
 generated tar archive.
 
 
-################################################################
-git-ls-files
-	git-ls-files [-z] [-t]
-		(--[cached|deleted|others|ignored|stage|unmerged])*
-		(-[c|d|o|i|s|u])*
-		[-x <pattern>|--exclude=<pattern>]
-		[-X <file>|--exclude-from=<file>]
-
-This merges the file listing in the directory cache index with the
-actual working directory list, and shows different combinations of the
-two.
-
-One or more of the options below may be used to determine the files
-shown:
-
--c|--cached
-	Show cached files in the output (default)
-
--d|--deleted
-	Show deleted files in the output
-
--o|--others
-	Show other files in the output
-
--i|--ignored
-	Show ignored files in the output
-	Note the this also reverses any exclude list present.
-
--s|--stage
-	Show stage files in the output
-
--u|--unmerged
-	Show unmerged files in the output (forces --stage)
-
--z
-	\0 line termination on output
-
--x|--exclude=<pattern>
-	Skips files matching pattern.
-	Note that pattern is a shell wildcard pattern.
-
--X|--exclude-from=<file>
-	exclude patterns are read from <file>; 1 per line.
-	Allows the use of the famous dontdiff file as follows to find
-	out about uncommitted files just as dontdiff is used with
-	the diff command:
-	     git-ls-files --others --exclude-from=dontdiff
-
--t
-	Identify the file status with the following tags (followed by
-	a space) at the start of each line:
-	H	cached
-	M	unmerged
-	R	removed/deleted
-	?	other
-
-Output
-show files just outputs the filename unless --stage is specified in
-which case it outputs:
-
-[<tag> ]<mode> <object> <stage> <file>
-
-git-ls-files --unmerged" and "git-ls-files --stage " can be used to examine
-detailed information on unmerged paths.
-
-For an unmerged path, instead of recording a single mode/SHA1 pair,
-the dircache records up to three such pairs; one from tree O in stage
-1, A in stage 2, and B in stage 3.  This information can be used by
-the user (or Cogito) to see what should eventually be recorded at the
-path. (see read-cache for more information on state)
-
-see also:
-read-cache
-
-
 ################################################################
 git-unpack-file
 	git-unpack-file <blob>