1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
\r
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
\r
6 <meta name="generator" content="AsciiDoc 7.0.2" />
\r
7 <style type="text/css">
\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
\r
11 border: 1px solid red;
\r
16 margin: 1em 5% 1em 5%;
\r
20 a:visited { color: fuchsia; }
\r
34 h1, h2, h3, h4, h5, h6 {
\r
36 font-family: sans-serif;
\r
38 margin-bottom: 0.5em;
\r
43 border-bottom: 2px solid silver;
\r
46 border-bottom: 2px solid silver;
\r
56 border: 1px solid silver;
\r
61 margin-bottom: 0.5em;
\r
71 font-family: sans-serif;
\r
78 font-family: sans-serif;
\r
82 font-family: sans-serif;
\r
84 border-top: 2px solid silver;
\r
90 padding-bottom: 0.5em;
\r
94 padding-bottom: 0.5em;
\r
98 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
\r
99 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
\r
100 div.admonitionblock {
\r
103 margin-bottom: 1.5em;
\r
105 div.admonitionblock {
\r
107 margin-bottom: 2.5em;
\r
110 div.content { /* Block element content. */
\r
114 /* Block element titles. */
\r
115 div.title, caption.title {
\r
116 font-family: sans-serif;
\r
120 margin-bottom: 0.5em;
\r
126 td div.title:first-child {
\r
129 div.content div.title:first-child {
\r
132 div.content + div.title {
\r
136 div.sidebarblock > div.content {
\r
137 background: #ffffee;
\r
138 border: 1px solid silver;
\r
142 div.listingblock > div.content {
\r
143 border: 1px solid silver;
\r
144 background: #f4f4f4;
\r
148 div.quoteblock > div.content {
\r
149 padding-left: 2.0em;
\r
151 div.quoteblock .attribution {
\r
155 div.admonitionblock .icon {
\r
156 vertical-align: top;
\r
159 text-decoration: underline;
\r
161 padding-right: 0.5em;
\r
163 div.admonitionblock td.content {
\r
164 padding-left: 0.5em;
\r
165 border-left: 2px solid silver;
\r
168 div.exampleblock > div.content {
\r
169 border-left: 2px solid silver;
\r
173 div.verseblock div.content {
\r
177 div.imageblock div.content { padding-left: 0; }
\r
178 div.imageblock img { border: 1px solid silver; }
\r
179 span.image img { border-style: none; }
\r
183 margin-bottom: 0.8em;
\r
188 font-style: italic;
\r
190 dd > *:first-child {
\r
195 list-style-position: outside;
\r
198 list-style-type: lower-alpha;
\r
201 div.tableblock > table {
\r
202 border-color: #527bbd;
\r
206 font-family: sans-serif;
\r
215 margin-bottom: 0.8em;
\r
218 vertical-align: top;
\r
219 font-style: italic;
\r
220 padding-right: 0.8em;
\r
223 vertical-align: top;
\r
227 div#footer-badges { display: none; }
\r
229 include::./stylesheets/xhtml11-manpage.css[]
\r
230 /* Workarounds for IE6's broken and incomplete CSS2. */
\r
232 div.sidebar-content {
\r
233 background: #ffffee;
\r
234 border: 1px solid silver;
\r
237 div.sidebar-title, div.image-title {
\r
238 font-family: sans-serif;
\r
241 margin-bottom: 0.5em;
\r
244 div.listingblock div.content {
\r
245 border: 1px solid silver;
\r
246 background: #f4f4f4;
\r
250 div.quoteblock-content {
\r
251 padding-left: 2.0em;
\r
254 div.exampleblock-content {
\r
255 border-left: 2px solid silver;
\r
256 padding-left: 0.5em;
\r
259 <title>git-checkout(1)</title>
\r
264 git-checkout(1) Manual Page
\r
267 <div class="sectionbody">
\r
269 Checkout and switch to a branch
\r
274 <div class="sectionbody">
\r
275 <div class="verseblock">
\r
276 <div class="content"><em>git-checkout</em> [-f] [-b <new_branch> [-l]] [-m] [<branch>]
\r
277 <em>git-checkout</em> [-m] [<branch>] <paths>…</div></div>
\r
279 <h2>DESCRIPTION</h2>
\r
280 <div class="sectionbody">
\r
281 <p>When <paths> are not given, this command switches branches by
\r
282 updating the index and working tree to reflect the specified
\r
283 branch, <branch>, and updating HEAD to be <branch> or, if
\r
284 specified, <new_branch>. Using -b will cause <new_branch> to
\r
286 <p>When <paths> are given, this command does <strong>not</strong> switch
\r
287 branches. It updates the named paths in the working tree from
\r
288 the index file (i.e. it runs <tt>git-checkout-index -f -u</tt>). In
\r
289 this case, <tt>-f</tt> and <tt>-b</tt> options are meaningless and giving
\r
290 either of them results in an error. <branch> argument can be
\r
291 used to specify a specific tree-ish to update the index for the
\r
292 given paths before updating the working tree.</p>
\r
295 <div class="sectionbody">
\r
302 Force a re-read of everything.
\r
310 Create a new branch named <new_branch> and start it at
\r
311 <branch>. The new branch name must pass all checks defined
\r
312 by <a href="git-check-ref-format.html">git-check-ref-format(1)</a>. Some of these checks
\r
313 may restrict the characters allowed in a branch name.
\r
321 Create the new branch's ref log. This activates recording of
\r
322 all changes to made the branch ref, enabling use of date
\r
330 If you have local modifications to one or more files that
\r
331 are different between the current branch and the branch to
\r
332 which you are switching, the command refuses to switch
\r
333 branches in order to preserve your modifications in context.
\r
334 However, with this option, a three-way merge between the current
\r
335 branch, your working tree contents, and the new branch
\r
336 is done, and you will be on the new branch.
\r
338 <p>When a merge conflict happens, the index entries for conflicting
\r
339 paths are left unmerged, and you need to resolve the conflicts
\r
340 and mark the resolved paths with <tt>git update-index</tt>.</p>
\r
347 Name for the new branch.
\r
355 Branch to checkout; may be any object ID that resolves to a
\r
356 commit. Defaults to HEAD.
\r
362 <div class="sectionbody">
\r
366 The following sequence checks out the <tt>master</tt> branch, reverts
\r
367 the <tt>Makefile</tt> to two revisions back, deletes hello.c by
\r
368 mistake, and gets it back from the index.
\r
370 <div class="listingblock">
\r
371 <div class="content">
\r
372 <pre><tt>$ git checkout master <b>(1)</b>
\r
373 $ git checkout master~2 Makefile <b>(2)</b>
\r
375 $ git checkout hello.c <b>(3)</b></tt></pre>
\r
385 take out a file out of other commit
\r
390 restore hello.c from HEAD of current branch
\r
392 <p>If you have an unfortunate branch that is named <tt>hello.c</tt>, this
\r
393 step would be confused as an instruction to switch to that branch.
\r
394 You should instead write:</p>
\r
395 <div class="listingblock">
\r
396 <div class="content">
\r
397 <pre><tt>$ git checkout -- hello.c</tt></pre>
\r
404 After working in a wrong branch, switching to the correct
\r
405 branch would be done using:
\r
407 <div class="listingblock">
\r
408 <div class="content">
\r
409 <pre><tt>$ git checkout mytopic</tt></pre>
\r
411 <p>However, your "wrong" branch and correct "mytopic" branch may
\r
412 differ in files that you have locally modified, in which case,
\r
413 the above checkout would fail like this:</p>
\r
414 <div class="listingblock">
\r
415 <div class="content">
\r
416 <pre><tt>$ git checkout mytopic
\r
417 fatal: Entry 'frotz' not uptodate. Cannot merge.</tt></pre>
\r
419 <p>You can give the <tt>-m</tt> flag to the command, which would try a
\r
420 three-way merge:</p>
\r
421 <div class="listingblock">
\r
422 <div class="content">
\r
423 <pre><tt>$ git checkout -m mytopic
\r
424 Auto-merging frotz</tt></pre>
\r
426 <p>After this three-way merge, the local modifications are _not_
\r
427 registered in your index file, so <tt>git diff</tt> would show you what
\r
428 changes you made since the tip of the new branch.</p>
\r
432 When a merge conflict happens during switching branches with
\r
433 the <tt>-m</tt> option, you would see something like this:
\r
435 <div class="listingblock">
\r
436 <div class="content">
\r
437 <pre><tt>$ git checkout -m mytopic
\r
439 merge: warning: conflicts during merge
\r
440 ERROR: Merge conflict in frotz
\r
441 fatal: merge program failed</tt></pre>
\r
443 <p>At this point, <tt>git diff</tt> shows the changes cleanly merged as in
\r
444 the previous example, as well as the changes in the conflicted
\r
445 files. Edit and resolve the conflict and mark it resolved with
\r
446 <tt>git update-index</tt> as usual:</p>
\r
447 <div class="listingblock">
\r
448 <div class="content">
\r
449 <pre><tt>$ edit frotz
\r
450 $ git update-index frotz</tt></pre>
\r
456 <div class="sectionbody">
\r
457 <p>Written by Linus Torvalds <torvalds@osdl.org></p>
\r
459 <h2>Documentation</h2>
\r
460 <div class="sectionbody">
\r
461 <p>Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.</p>
\r
464 <div class="sectionbody">
\r
465 <p>Part of the <a href="git.html">git(7)</a> suite</p>
\r
468 <div id="footer-text">
\r
469 Last updated 04-Jun-2006 07:24:22 UTC
\r