| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" | |
| "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | |
| <meta name="generator" content="AsciiDoc 7.0.2" /> | |
| <style type="text/css"> | |
| /* Debug borders */ | |
| p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 { | |
| /* | |
| border: 1px solid red; | |
| */ | |
| } | |
| body { | |
| margin: 1em 5% 1em 5%; | |
| } | |
| a { color: blue; } | |
| a:visited { color: fuchsia; } | |
| em { | |
| font-style: italic; | |
| } | |
| strong { | |
| font-weight: bold; | |
| } | |
| tt { | |
| color: navy; | |
| } | |
| h1, h2, h3, h4, h5, h6 { | |
| color: #527bbd; | |
| font-family: sans-serif; | |
| margin-top: 1.2em; | |
| margin-bottom: 0.5em; | |
| line-height: 1.3; | |
| } | |
| h1 { | |
| border-bottom: 2px solid silver; | |
| } | |
| h2 { | |
| border-bottom: 2px solid silver; | |
| padding-top: 0.5em; | |
| } | |
| div.sectionbody { | |
| font-family: serif; | |
| margin-left: 0; | |
| } | |
| hr { | |
| border: 1px solid silver; | |
| } | |
| p { | |
| margin-top: 0.5em; | |
| margin-bottom: 0.5em; | |
| } | |
| pre { | |
| padding: 0; | |
| margin: 0; | |
| } | |
| span#author { | |
| color: #527bbd; | |
| font-family: sans-serif; | |
| font-weight: bold; | |
| font-size: 1.2em; | |
| } | |
| span#email { | |
| } | |
| span#revision { | |
| font-family: sans-serif; | |
| } | |
| div#footer { | |
| font-family: sans-serif; | |
| font-size: small; | |
| border-top: 2px solid silver; | |
| padding-top: 0.5em; | |
| margin-top: 4.0em; | |
| } | |
| div#footer-text { | |
| float: left; | |
| padding-bottom: 0.5em; | |
| } | |
| div#footer-badges { | |
| float: right; | |
| padding-bottom: 0.5em; | |
| } | |
| div#preamble, | |
| div.tableblock, div.imageblock, div.exampleblock, div.verseblock, | |
| div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, | |
| div.admonitionblock { | |
| margin-right: 10%; | |
| margin-top: 1.5em; | |
| margin-bottom: 1.5em; | |
| } | |
| div.admonitionblock { | |
| margin-top: 2.5em; | |
| margin-bottom: 2.5em; | |
| } | |
| div.content { /* Block element content. */ | |
| padding: 0; | |
| } | |
| /* Block element titles. */ | |
| div.title, caption.title { | |
| font-family: sans-serif; | |
| font-weight: bold; | |
| text-align: left; | |
| margin-top: 1.0em; | |
| margin-bottom: 0.5em; | |
| } | |
| div.title + * { | |
| margin-top: 0; | |
| } | |
| td div.title:first-child { | |
| margin-top: 0.0em; | |
| } | |
| div.content div.title:first-child { | |
| margin-top: 0.0em; | |
| } | |
| div.content + div.title { | |
| margin-top: 0.0em; | |
| } | |
| div.sidebarblock > div.content { | |
| background: #ffffee; | |
| border: 1px solid silver; | |
| padding: 0.5em; | |
| } | |
| div.listingblock > div.content { | |
| border: 1px solid silver; | |
| background: #f4f4f4; | |
| padding: 0.5em; | |
| } | |
| div.quoteblock > div.content { | |
| padding-left: 2.0em; | |
| } | |
| div.quoteblock .attribution { | |
| text-align: right; | |
| } | |
| div.admonitionblock .icon { | |
| vertical-align: top; | |
| font-size: 1.1em; | |
| font-weight: bold; | |
| text-decoration: underline; | |
| color: #527bbd; | |
| padding-right: 0.5em; | |
| } | |
| div.admonitionblock td.content { | |
| padding-left: 0.5em; | |
| border-left: 2px solid silver; | |
| } | |
| div.exampleblock > div.content { | |
| border-left: 2px solid silver; | |
| padding: 0.5em; | |
| } | |
| div.verseblock div.content { | |
| white-space: pre; | |
| } | |
| div.imageblock div.content { padding-left: 0; } | |
| div.imageblock img { border: 1px solid silver; } | |
| span.image img { border-style: none; } | |
| dl { | |
| margin-top: 0.8em; | |
| margin-bottom: 0.8em; | |
| } | |
| dt { | |
| margin-top: 0.5em; | |
| margin-bottom: 0; | |
| font-style: italic; | |
| } | |
| dd > *:first-child { | |
| margin-top: 0; | |
| } | |
| ul, ol { | |
| list-style-position: outside; | |
| } | |
| ol.olist2 { | |
| list-style-type: lower-alpha; | |
| } | |
| div.tableblock > table { | |
| border-color: #527bbd; | |
| border-width: 3px; | |
| } | |
| thead { | |
| font-family: sans-serif; | |
| font-weight: bold; | |
| } | |
| tfoot { | |
| font-weight: bold; | |
| } | |
| div.hlist { | |
| margin-top: 0.8em; | |
| margin-bottom: 0.8em; | |
| } | |
| td.hlist1 { | |
| vertical-align: top; | |
| font-style: italic; | |
| padding-right: 0.8em; | |
| } | |
| td.hlist2 { | |
| vertical-align: top; | |
| } | |
| @media print { | |
| div#footer-badges { display: none; } | |
| } | |
| include::./stylesheets/xhtml11-manpage.css[] | |
| /* Workarounds for IE6's broken and incomplete CSS2. */ | |
| div.sidebar-content { | |
| background: #ffffee; | |
| border: 1px solid silver; | |
| padding: 0.5em; | |
| } | |
| div.sidebar-title, div.image-title { | |
| font-family: sans-serif; | |
| font-weight: bold; | |
| margin-top: 0.0em; | |
| margin-bottom: 0.5em; | |
| } | |
| div.listingblock div.content { | |
| border: 1px solid silver; | |
| background: #f4f4f4; | |
| padding: 0.5em; | |
| } | |
| div.quoteblock-content { | |
| padding-left: 2.0em; | |
| } | |
| div.exampleblock-content { | |
| border-left: 2px solid silver; | |
| padding-left: 0.5em; | |
| } | |
| </style> | |
| <title>git-checkout-index(1)</title> | |
| </head> | |
| <body> | |
| <div id="header"> | |
| <h1> | |
| git-checkout-index(1) Manual Page | |
| </h1> | |
| <h2>NAME</h2> | |
| <div class="sectionbody"> | |
| <p>git-checkout-index - | |
| Copy files from the index to the working tree | |
| </p> | |
| </div> | |
| </div> | |
| <h2>SYNOPSIS</h2> | |
| <div class="sectionbody"> | |
| <div class="verseblock"> | |
| <div class="content"><em>git-checkout-index</em> [-u] [-q] [-a] [-f] [-n] [--prefix=<string>] | |
| [--stage=<number>|all] | |
| [--temp] | |
| [-z] [--stdin] | |
| [--] [<file>]*</div></div> | |
| </div> | |
| <h2>DESCRIPTION</h2> | |
| <div class="sectionbody"> | |
| <p>Will copy all files listed from the index to the working directory | |
| (not overwriting existing files).</p> | |
| </div> | |
| <h2>OPTIONS</h2> | |
| <div class="sectionbody"> | |
| <dl> | |
| <dt> | |
| -u|--index | |
| </dt> | |
| <dd> | |
| <p> | |
| update stat information for the checked out entries in | |
| the index file. | |
| </p> | |
| </dd> | |
| <dt> | |
| -q|--quiet | |
| </dt> | |
| <dd> | |
| <p> | |
| be quiet if files exist or are not in the index | |
| </p> | |
| </dd> | |
| <dt> | |
| -f|--force | |
| </dt> | |
| <dd> | |
| <p> | |
| forces overwrite of existing files | |
| </p> | |
| </dd> | |
| <dt> | |
| -a|--all | |
| </dt> | |
| <dd> | |
| <p> | |
| checks out all files in the index. Cannot be used | |
| together with explicit filenames. | |
| </p> | |
| </dd> | |
| <dt> | |
| -n|--no-create | |
| </dt> | |
| <dd> | |
| <p> | |
| Don't checkout new files, only refresh files already checked | |
| out. | |
| </p> | |
| </dd> | |
| <dt> | |
| --prefix=<string> | |
| </dt> | |
| <dd> | |
| <p> | |
| When creating files, prepend <string> (usually a directory | |
| including a trailing /) | |
| </p> | |
| </dd> | |
| <dt> | |
| --stage=<number>|all | |
| </dt> | |
| <dd> | |
| <p> | |
| Instead of checking out unmerged entries, copy out the | |
| files from named stage. <number> must be between 1 and 3. | |
| Note: --stage=all automatically implies --temp. | |
| </p> | |
| </dd> | |
| <dt> | |
| --temp | |
| </dt> | |
| <dd> | |
| <p> | |
| Instead of copying the files to the working directory | |
| write the content to temporary files. The temporary name | |
| associations will be written to stdout. | |
| </p> | |
| </dd> | |
| <dt> | |
| --stdin | |
| </dt> | |
| <dd> | |
| <p> | |
| Instead of taking list of paths from the command line, | |
| read list of paths from the standard input. Paths are | |
| separated by LF (i.e. one path per line) by default. | |
| </p> | |
| </dd> | |
| <dt> | |
| -z | |
| </dt> | |
| <dd> | |
| <p> | |
| Only meaningful with <tt>--stdin</tt>; paths are separated with | |
| NUL character instead of LF. | |
| </p> | |
| </dd> | |
| <dt> | |
| -- | |
| </dt> | |
| <dd> | |
| <p> | |
| Do not interpret any more arguments as options. | |
| </p> | |
| </dd> | |
| </dl> | |
| <p>The order of the flags used to matter, but not anymore.</p> | |
| <p>Just doing <tt>git-checkout-index</tt> does nothing. You probably meant | |
| <tt>git-checkout-index -a</tt>. And if you want to force it, you want | |
| <tt>git-checkout-index -f -a</tt>.</p> | |
| <p>Intuitiveness is not the goal here. Repeatability is. The reason for | |
| the "no arguments means no work" behavior is that from scripts you are | |
| supposed to be able to do:</p> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><tt>$ find . -name '*.h' -print0 | xargs -0 git-checkout-index -f --</tt></pre> | |
| </div></div> | |
| <p>which will force all existing <tt>*.h</tt> files to be replaced with their | |
| cached copies. If an empty command line implied "all", then this would | |
| force-refresh everything in the index, which was not the point. But | |
| since git-checkout-index accepts --stdin it would be faster to use:</p> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><tt>$ find . -name '*.h' -print0 | git-checkout-index -f -z --stdin</tt></pre> | |
| </div></div> | |
| <p>The <tt>--</tt> is just a good idea when you know the rest will be filenames; | |
| it will prevent problems with a filename of, for example, <tt>-a</tt>. | |
| Using <tt>--</tt> is probably a good policy in scripts.</p> | |
| </div> | |
| <h2>Using --temp or --stage=all</h2> | |
| <div class="sectionbody"> | |
| <p>When <tt>--temp</tt> is used (or implied by <tt>--stage=all</tt>) | |
| <tt>git-checkout-index</tt> will create a temporary file for each index | |
| entry being checked out. The index will not be updated with stat | |
| information. These options can be useful if the caller needs all | |
| stages of all unmerged entries so that the unmerged files can be | |
| processed by an external merge tool.</p> | |
| <p>A listing will be written to stdout providing the association of | |
| temporary file names to tracked path names. The listing format | |
| has two variations:</p> | |
| <ol> | |
| <li> | |
| <p> | |
| tempname TAB path RS | |
| </p> | |
| <p>The first format is what gets used when <tt>--stage</tt> is omitted or | |
| is not <tt>--stage=all</tt>. The field tempname is the temporary file | |
| name holding the file content and path is the tracked path name in | |
| the index. Only the requested entries are output.</p> | |
| </li> | |
| <li> | |
| <p> | |
| stage1temp SP stage2temp SP stage3tmp TAB path RS | |
| </p> | |
| <p>The second format is what gets used when <tt>--stage=all</tt>. The three | |
| stage temporary fields (stage1temp, stage2temp, stage3temp) list the | |
| name of the temporary file if there is a stage entry in the index | |
| or <tt>.</tt> if there is no stage entry. Paths which only have a stage 0 | |
| entry will always be omitted from the output.</p> | |
| </li> | |
| </ol> | |
| <p>In both formats RS (the record separator) is newline by default | |
| but will be the null byte if -z was passed on the command line. | |
| The temporary file names are always safe strings; they will never | |
| contain directory separators or whitespace characters. The path | |
| field is always relative to the current directory and the temporary | |
| file names are always relative to the top level directory.</p> | |
| <p>If the object being copied out to a temporary file is a symbolic | |
| link the content of the link will be written to a normal file. It is | |
| up to the end-user or the Porcelain to make use of this information.</p> | |
| </div> | |
| <h2>EXAMPLES</h2> | |
| <div class="sectionbody"> | |
| <dl> | |
| <dt> | |
| To update and refresh only the files already checked out | |
| </dt> | |
| <dd> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><tt>$ git-checkout-index -n -f -a && git-update-index --ignore-missing --refresh</tt></pre> | |
| </div></div> | |
| </dd> | |
| <dt> | |
| Using <tt>git-checkout-index</tt> to "export an entire tree" | |
| </dt> | |
| <dd> | |
| <p> | |
| The prefix ability basically makes it trivial to use | |
| <tt>git-checkout-index</tt> as an "export as tree" function. | |
| Just read the desired tree into the index, and do: | |
| </p> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><tt>$ git-checkout-index --prefix=git-export-dir/ -a</tt></pre> | |
| </div></div> | |
| <p><tt>git-checkout-index</tt> will "export" the index into the specified | |
| directory.</p> | |
| <p>The final "/" is important. The exported name is literally just | |
| prefixed with the specified string. Contrast this with the | |
| following example.</p> | |
| </dd> | |
| <dt> | |
| Export files with a prefix | |
| </dt> | |
| <dd> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><tt>$ git-checkout-index --prefix=.merged- Makefile</tt></pre> | |
| </div></div> | |
| <p>This will check out the currently cached copy of <tt>Makefile</tt> | |
| into the file <tt>.merged-Makefile</tt>.</p> | |
| </dd> | |
| </dl> | |
| </div> | |
| <h2>Author</h2> | |
| <div class="sectionbody"> | |
| <p>Written by Linus Torvalds <torvalds@osdl.org></p> | |
| </div> | |
| <h2>Documentation</h2> | |
| <div class="sectionbody"> | |
| <p>Documentation by David Greaves, | |
| Junio C Hamano and the git-list <git@vger.kernel.org>.</p> | |
| </div> | |
| <h2>GIT</h2> | |
| <div class="sectionbody"> | |
| <p>Part of the <a href="git.html">git(7)</a> suite</p> | |
| </div> | |
| <div id="footer"> | |
| <div id="footer-text"> | |
| Last updated 07-Jan-2008 07:50:04 UTC | |
| </div> | |
| </div> | |
| </body> | |
| </html> |