git-checkout(1) =============== NAME ---- git-checkout - Checkout and switch to a branch. SYNOPSIS -------- 'git-checkout' [-f] [-b ] [] [...] DESCRIPTION ----------- When are not given, this command switches branches, by updating the index and working tree to reflect the specified branch, , and updating HEAD to be or, if specified, . When are given, this command does *not* switch branches. It updates the named paths in the working tree from the index file (i.e. it runs `git-checkout-index -f -u`). In this case, `-f` and `-b` options are meaningless and giving either of them results in an error. argument can be used to specify a specific tree-ish to update the index for the given paths before updating the working tree. OPTIONS ------- -f:: Force an re-read of everything. -b:: Create a new branch and start it at . :: Name for the new branch. :: Branch to checkout; may be any object ID that resolves to a commit. Defaults to HEAD. EXAMPLE ------- The following sequence checks out the `master` branch, reverts the `Makefile` to two revisions back, deletes hello.c by mistake, and gets it back from the index. ------------ $ git checkout master $ git checkout master~2 Makefile $ rm -f hello.c $ git checkout hello.c ------------ If you have an unfortunate branch that is named `hello.c`, the last step above would be confused as an instruction to switch to that branch. You should instead write: ------------ $ git checkout -- hello.c ------------ Author ------ Written by Linus Torvalds Documentation -------------- Documentation by Junio C Hamano and the git-list . GIT --- Part of the gitlink:git[7] suite