Documentation / git-checkout.txton commit Merge fixes up to GIT 1.0.4 (2414721)
   1git-checkout(1)
   2===============
   3
   4NAME
   5----
   6git-checkout - Checkout and switch to a branch.
   7
   8SYNOPSIS
   9--------
  10'git-checkout' [-f] [-b <new_branch>] [<branch>] [<paths>...]
  11
  12DESCRIPTION
  13-----------
  14
  15When <paths> are not given, this command switches branches, by
  16updating the index and working tree to reflect the specified
  17branch, <branch>, and updating HEAD to be <branch> or, if
  18specified, <new_branch>.
  19
  20When <paths> are given, this command does *not* switch
  21branches.  It updates the named paths in the working tree from
  22the index file (i.e. it runs `git-checkout-index -f -u`).  In
  23this case, `-f` and `-b` options are meaningless and giving
  24either of them results in an error.  <branch> argument can be
  25used to specify a specific tree-ish to update the index for the
  26given paths before updating the working tree.
  27
  28
  29OPTIONS
  30-------
  31-f::
  32        Force an re-read of everything.
  33
  34-b::
  35        Create a new branch and start it at <branch>.
  36
  37<new_branch>::
  38        Name for the new branch.
  39
  40<branch>::
  41        Branch to checkout; may be any object ID that resolves to a
  42        commit. Defaults to HEAD.
  43
  44
  45EXAMPLE
  46-------
  47
  48The following sequence checks out the `master` branch, reverts
  49the `Makefile` to two revisions back, deletes hello.c by
  50mistake, and gets it back from the index.
  51
  52------------
  53$ git checkout master <1>
  54$ git checkout master~2 Makefile <2>
  55$ rm -f hello.c
  56$ git checkout hello.c <3>
  57
  58<1> switch branch
  59<2> take out a file out of other commit
  60<3> or "git checkout -- hello.c", as in the next example.
  61------------
  62
  63If you have an unfortunate branch that is named `hello.c`, the
  64last step above would be confused as an instruction to switch to
  65that branch.  You should instead write:
  66
  67------------
  68$ git checkout -- hello.c
  69------------
  70
  71
  72Author
  73------
  74Written by Linus Torvalds <torvalds@osdl.org>
  75
  76Documentation
  77--------------
  78Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
  79
  80GIT
  81---
  82Part of the gitlink:git[7] suite
  83