Sentry Answers>Git>

Fix "detached HEAD" in Git

Fix "detached HEAD" in Git

David Y.

The ProblemJump To Solution

My Git repository reports that it is in “detached HEAD state”. I’m not sure what this means. How can I return my repository to normal?

The Solution

A Git repository is in detached HEAD state when the repository’s current state points to a commit not at the tip of a branch, or a commit in a remote branch that has not been fetched. For example, we might use git checkout to view the repository as it was at a previous commit, via a command like the following:

Click to Copy
git checkout d809c7a # <-- shortened commit hash

To recover from a detached HEAD, we must return to one of our repository’s locally available branches. How we do this will depend on whether or not we’ve made changes we would like to keep while in detached HEAD state. If so, we must first create a new branch to save our changes:

Click to Copy
git branch detached-changes

We then add and commit our changes to this new branch:

Click to Copy
git add --all . git commit -m "Detached HEAD changes"

Finally, we can return to the branch we were previously on (probably master or main) and merge in the branch with our changes:

Click to Copy
git checkout master git merge detached-changes

If we don’t want to save the changes made while in detached HEAD state, we can check out a branch directly:

Click to Copy
git checkout master
  • ResourcesWhat is Distributed Tracing
  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty Treats for Web Developers brought to you by Sentry. Web development tips and tricks hosted by Wes Bos and Scott Tolinski

    Listen to Syntax

Loved by over 4 million developers and more than 90,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.