X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit-checkout.txt;h=b7bb1b4c74ad3f0e06ddf23487b7735cb321952b;hb=8bf14d6ef9245f3b81d24cb7725a868f62343277;hp=f753c149a5f2c45bd57742475e9d81a25c309a2c;hpb=c1067050ce58b5b39f528fe634732da858664603;p=git.git diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt index f753c149..b7bb1b4c 100644 --- a/Documentation/git-checkout.txt +++ b/Documentation/git-checkout.txt @@ -7,12 +7,24 @@ git-checkout - Checkout and switch to a branch. SYNOPSIS -------- -'git-checkout' [-f] [-b ] [] +'git-checkout' [-f] [-b ] [] [...] DESCRIPTION ----------- -Updates the index and working tree to reflect the specified branch, -. Updates HEAD to be or, if specified, . + +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 ------- @@ -29,6 +41,30 @@ OPTIONS 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