Git checkout: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 53: Line 53:
=Reverting Individual File(s) to a Specific Past Commit=
=Reverting Individual File(s) to a Specific Past Commit=


  git checkout <''commit-id''>  <''pathspec1''> [<''pathspec2''>  ...]
  git checkout <''commit-id''>  [--] <''pathspec1''> [<''pathspec2''>  ...]


  git checkout 7065a46a0fee1198fb11a2cd7c1adda197a5d5b0  src/main/java/com/example/Example.java
  git checkout 7065a46a0fee1198fb11a2cd7c1adda197a5d5b0  [--] src/main/java/com/example/Example.java
 
<font color=gray>TODO: what are
 
git checkout c5f567 -- file1/to/restore file2/to/restore

Revision as of 07:48, 28 May 2020

Internal

Overview

Options

--

Do not interpret any more arguments as options.

Check Out the HEAD of a Branch

git checkout <branch-name>

This has the semantics of switching to the designated branch.

Checkout a Tag into a Detached HEAD

The following command checks out a specific tag - technically the commit that corresponds to the given tag - into a detached HEAD branch.

git checkout <tag-name|commit-id>
git checkout RESTEASY_JAXRS_2_3_2_FINAL

Reposition the local repository on the HEAD of a branch

git checkout <other-existing-branch-name>
git checkout master

Convert a Detached HEAD into a Named Branch

While being in a detached HEAD situation:

git checkout -b <name-of-a-new-branch>

Create and Check Out a New Branch in One Operation

git checkout -b <new-local-branch-name'> [root-commit]

This creates a new local branch and simultaneously switches to it. Optionally, you can explicitly specify a root commit. If not specified, it's the HEAD of the current branch. Note that the operation does not create a corresponding branch in the origin repository, for that you must explicitly publish the local branch in the remote repository.

Note that if the base branch has modifications, they'll show up on both base branch and the new head branch.

Overwrite a File in the Working Tree

Discards a local modification in working tree:

git checkout <pathspec>

Reverting Individual File(s) to a Specific Past Commit

git checkout <commit-id>  [--] <pathspec1> [<pathspec2>  ...]
git checkout 7065a46a0fee1198fb11a2cd7c1adda197a5d5b0  [--] src/main/java/com/example/Example.java