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