WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

Git · Intermediate · question 24 of 100

What is a detached HEAD in Git, and how do you deal with it?

📕 Buy this interview preparation book: 100 Git questions & answers — PDF + EPUB for $5

In Git, a "detached HEAD" state occurs when you checkout a specific commit or tag instead of a branch. In this state, the HEAD pointer (which points to the current branch) is not pointing to a branch, but to a specific commit.

Here’s an example of how to enter a detached HEAD state in Git:

    # Checkout a specific commit
    git checkout <commit-hash>

In this example, the git checkout command is used to checkout a specific commit. This will put Git into a detached HEAD state.

While in a detached HEAD state, you can still make changes to the code and commit those changes. However, if you create a new commit while in this state, you will not be on a branch and the changes will not be part of any branch.

To deal with a detached HEAD state, you can either create a new branch at the current commit or switch back to an existing branch. Here’s how to create a new branch:

    # Create a new branch at the current commit
    git branch <new-branch-name>

This will create a new branch at the current commit and put you back on a branch. You can now continue making changes and committing them as normal.

To switch back to an existing branch, use the git checkout command followed by the name of the branch:

    # Switch back to an existing branch
    git checkout <branch-name>

This will switch you back to the specified branch and put you in a "normal" state where you can continue making changes and committing them.

In summary, a detached HEAD state in Git occurs when you checkout a specific commit instead of a branch. While in this state, you can still make changes and commit them, but those changes will not be part of any branch. To deal with a detached HEAD state, you can either create a new branch at the current commit or switch back to an existing branch.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic Git interview — then scores it.
📞 Practice Git — free 15 min
📕 Buy this interview preparation book: 100 Git questions & answers — PDF + EPUB for $5

All 100 Git questions · All topics