2015-10-22 08:31:52 +01:00
|
|
|
# git checkout
|
2014-03-09 12:20:13 +00:00
|
|
|
|
2016-01-07 17:31:27 +00:00
|
|
|
> Checkout a branch or paths to the working tree.
|
2019-06-03 01:06:36 +01:00
|
|
|
> More information: <https://git-scm.com/docs/git-checkout>.
|
2014-03-09 12:20:13 +00:00
|
|
|
|
2016-01-07 17:31:27 +00:00
|
|
|
- Create and switch to a new branch:
|
2014-03-09 12:20:13 +00:00
|
|
|
|
2016-09-21 16:35:46 +01:00
|
|
|
`git checkout -b {{branch_name}}`
|
2015-11-23 23:21:20 +00:00
|
|
|
|
2018-10-28 00:52:23 +01:00
|
|
|
- Create and switch to a new branch based on a specific reference (branch, remote/branch, tag are examples of valid references):
|
|
|
|
|
|
|
|
`git checkout -b {{branch_name}} {{reference}}`
|
|
|
|
|
2017-04-30 11:17:03 +01:00
|
|
|
- Switch to an existing local branch:
|
2016-08-23 20:33:31 +01:00
|
|
|
|
|
|
|
`git checkout {{branch_name}}`
|
|
|
|
|
2019-10-06 08:21:23 +01:00
|
|
|
- Switch to the previously checked out branch:
|
|
|
|
|
|
|
|
`git checkout -`
|
|
|
|
|
2017-04-30 11:17:03 +01:00
|
|
|
- Switch to an existing remote branch:
|
|
|
|
|
|
|
|
`git checkout --track {{remote_name}}/{{branch_name}}`
|
|
|
|
|
2019-02-11 18:00:49 +00:00
|
|
|
- Discard all unstaged changes in the current directory (see `git reset` for more undo-like commands):
|
2015-11-23 23:21:20 +00:00
|
|
|
|
2016-01-07 15:51:03 +00:00
|
|
|
`git checkout .`
|
2016-08-23 20:33:31 +01:00
|
|
|
|
2017-05-15 17:54:24 +01:00
|
|
|
- Discard unstaged changes to a given file:
|
2017-05-15 17:52:38 +01:00
|
|
|
|
|
|
|
`git checkout {{file_name}}`
|
|
|
|
|
2019-02-11 18:00:49 +00:00
|
|
|
- Replace a file in the current directory with the version of it committed in a given branch:
|
2016-08-23 20:33:31 +01:00
|
|
|
|
|
|
|
`git checkout {{branch_name}} -- {{file_name}}`
|