Checkout a branch or paths to the working tree.

# To create and switch to a new branch:
git checkout -b <branch_name>

# To switch to an existing local branch:
git checkout <branch_name>

# To switch to an existing remote branch:
git checkout --track <remote_name>/<branch_name>

# To discard all unstaged changes in the current folder (see 'git reset' for more undo-like commands):
git checkout .

# To discard unstaged changes to a given file:
git checkout <file_name>

# To replace a file in the current folder with the version of it committed in a given branch:
git checkout <branch_name> -- <file_name>