Name

checkout

Synopsis

git checkout [revision] path ...

Copy files from the repository into your working tree and possibly switch branches. git checkout does one of four different things, depending on which options are provided:

revision but no path

Switch branches to the one named by revision. If files are modified in the working tree and also changed in the new branch, the operation will fail. The next commit will be in the new branch.

If revision is a valid commit but not the name of a local branch, Git still switches HEAD to the given commit but does not give the new branch a name. This is called a detached HEAD. You can later name the new branch with git checkout -b.

In either case, if the -b option is given, a new branch is created from the given revision, and Git switches to that branch.

path(s) but no revision

Destroys all working tree changes in the named files or directories, replacing them with their contents from the index.

revision and path(s)

Destroys all working tree changes in the named files or directories, replacing them with their contents from the given revision. This does not switch branches; instead, it replaces contents of the given files in the index. The next git commit, will affect the same branch as before, but the named paths will be considered modified.

no revision and no path(s)

No changes. Prints a list of files that have been modified in the working tree.

Options

-q(quiet)
-f(force)
-b new_branch_name
--track (-t)
--no-track
-m (merge)

Examples

To revert all the files ...

Get Linux in a Nutshell, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.