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