NAME
----
-git-checkout-index - Copy files from the cache to the working directory
+git-checkout-index - Copy files from the index to the working directory
SYNOPSIS
DESCRIPTION
-----------
-Will copy all files listed from the cache to the working directory
+Will copy all files listed from the index to the working directory
(not overwriting existing files).
OPTIONS
-------
--u::
+-u|--index::
update stat information for the checked out entries in
- the cache file.
+ the index file.
--q::
- be quiet if files exist or are not in the cache
+-q|--quiet::
+ be quiet if files exist or are not in the index
--f::
+-f|--force::
forces overwrite of existing files
--a::
- checks out all files in the cache (will then continue to
- process listed files).
+-a|--all::
+ checks out all files in the index. Cannot be used
+ together with explicit filenames.
--n::
+-n|--no-create::
Don't checkout new files, only refresh files already checked
out.
--::
Do not interpret any more arguments as options.
-Note that the order of the flags matters:
+The order of the flags used to matter, but not anymore.
- git-checkout-index -a -f file.c
-
-will first check out all files listed in the cache (but not overwrite
-any old ones), and then force-checkout `file.c` a second time (ie that
-one *will* overwrite any old contents with the same filename).
-
-Also, just doing "git-checkout-index" does nothing. You probably meant
+Just doing "git-checkout-index" does nothing. You probably meant
"git-checkout-index -a". And if you want to force it, you want
"git-checkout-index -f -a".
which will force all existing `*.h` files to be replaced with their
cached copies. If an empty command line implied "all", then this would
-force-refresh everything in the cache, which was not the point.
+force-refresh everything in the index, which was not the point.
To update and refresh only the files already checked out:
The prefix ability basically makes it trivial to use
git-checkout-index as an "export as tree" function. Just read the
desired tree into the index, and do a
-
+
git-checkout-index --prefix=git-export-dir/ -a
-
-and git-checkout-index will "export" the cache into the specified
+
+and git-checkout-index will "export" the index into the specified
directory.
-
+
NOTE The final "/" is important. The exported name is literally just
prefixed with the specified string, so you can also do something like