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 54$ git checkout master~2 Makefile 55$ rm -f hello.c 56$ git checkout hello.c 57------------ 58 59If you have an unfortunate branch that is named `hello.c`, the 60last step above would be confused as an instruction to switch to 61that branch. You should instead write: 62 63------------ 64$ git checkout -- hello.c 65------------ 66 67 68Author 69------ 70Written by Linus Torvalds <torvalds@osdl.org> 71 72Documentation 73-------------- 74Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>. 75 76GIT 77--- 78Part of the gitlink:git[7] suite 79