How do I undo a checkout in git?

Git

Git Problem Overview


I just checked out an earlier commit from my local git repo. I haven't made any changes to it, I was just looking at it. Now I want to go back to my latest commit - how do I do that?

The exact command I used to check it out:

git checkout e5dff6b3c5d704f9b598de46551355d18235ac08

Now when I type git log, at the top I see this checked out commit, but none of my later commits. Did I accidentally delete those?

Git Solutions


Solution 1 - Git

Try this first:

git checkout master

(If you're on a different branch than master (or main), use the branch name there instead.)

If that doesn't work, try...

For a single file:

git checkout HEAD /path/to/file

For the entire repository working copy:

git reset --hard HEAD

And if that doesn't work, then you can look in the reflog to find your old head SHA and reset to that:

git reflog
git reset --hard <sha from reflog>

HEAD is a name that always points to the latest commit in your current branch.

Solution 2 - Git

To undo git checkout do git checkout -, similarly to cd and cd - in shell.

Solution 3 - Git

You probably want git checkout master, or git checkout [branchname].

Solution 4 - Git

If you are using github, chances are the name for default branch is no longer master. Try git checkout main instead.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionYuval KarmiView Question on Stackoverflow
Solution 1 - GitAmberView Answer on Stackoverflow
Solution 2 - GitGaylord Thankyou JohnsonView Answer on Stackoverflow
Solution 3 - GitwuputahView Answer on Stackoverflow
Solution 4 - GitNg Ju PingView Answer on Stackoverflow