X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit-checkout.txt;h=095128906a523cc8ca30639c1d42452a4bcb0050;hb=975bf9cf5ad5d440f98f464ae8124609a4835ce1;hp=556e733c9b3c38c887ff6656363d7d92cca5a16a;hpb=ea75cb7284f79250bebb6dd48c6161b0f1b4c1c6;p=git.git diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt index 556e733c..09512890 100644 --- a/Documentation/git-checkout.txt +++ b/Documentation/git-checkout.txt @@ -7,15 +7,18 @@ git-checkout - Checkout and switch to a branch SYNOPSIS -------- -'git-checkout' [-f] [-b ] [-m] [] [...] +[verse] +'git-checkout' [-f] [-b ] [-m] [] +'git-checkout' [-m] [] ... DESCRIPTION ----------- -When are not given, this command switches branches, by +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, . +specified, . Using -b will cause to +be created. When are given, this command does *not* switch branches. It updates the named paths in the working tree from @@ -29,17 +32,17 @@ given paths before updating the working tree. OPTIONS ------- -f:: - Force an re-read of everything. + Force a re-read of everything. -b:: Create a new branch and start it at . -m:: - If you have local modifications to a file that is - different between the current branch and the branch you - are switching to, the command refuses to switch - branches, to preserve your modifications in context. - With this option, a three-way merge between the current + If you have local modifications to one or more files that + are different between the current branch and the branch to + which you are switching, the command refuses to switch + branches in order to preserve your modifications in context. + However, with this option, a three-way merge between the current branch, your working tree contents, and the new branch is done, and you will be on the new branch. + @@ -63,26 +66,26 @@ the `Makefile` to two revisions back, deletes hello.c by mistake, and gets it back from the index. + ------------ -$ git checkout master <1> -$ git checkout master~2 Makefile <2> +$ git checkout master <1> +$ git checkout master~2 Makefile <2> $ rm -f hello.c -$ git checkout hello.c <3> - +$ git checkout hello.c <3> +------------ ++ <1> switch branch <2> take out a file out of other commit -<3> or "git checkout -- hello.c", as in the next example. ------------- +<3> restore hello.c from HEAD of current branch + -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: +If you have an unfortunate branch that is named `hello.c`, this +step would be confused as an instruction to switch to that branch. +You should instead write: + ------------ $ git checkout -- hello.c ------------ . After working in a wrong branch, switching to the correct -branch you would want to is done with: +branch would be done using: + ------------ $ git checkout mytopic