
We already demonstrated that if you check out the SHA-1 commit hash, you will be in the detached HEAD state. Checking out to a remote branch without fetching it first.Checking out a specific Secure Hash Algorithm 1 (SHA-1) commit hash.You can find yourself in a detached HEAD state primarily through two scenarios: Scenarios that can cause a detached HEAD state In this case, HEAD does not point to any branch-it references a commit. Continuing from the previous scenario, if you check out to the first commit on the main branch, you will see that HEAD is now detached. In Git, you can also check out a particular commit, which results in the detached HEAD state. In both of the diagrams in the previous section, HEAD points to the most recent commit in the currently checked out branch, which is its normal state. In Git, the detached HEAD state occurs when the HEAD does not point to a branch, but instead points to a specific commit or the remote repository. You can create this scenario with the following Git commands: git branch feature Since you are checked out to the feature branch, HEAD points there. In this situation, you have two branches, the main branch and a feature branch. HEAD is also a common state when working with multiple branches. In this image, the HEAD points to the latest commit and current checked-out branch on every commit in the current branch. What is a normal HEAD stateīelow is a diagram of the Git HEAD in a normal state, pointing to the latest commit in the main branch.
Git switch branch without committing how to#
Then, we will demonstrate how to save or discard changes in a detached head so you can quickly recover from the situation. In this article, we will explore what the Git detached HEAD state is and some situations that cause it. Complex commands and a less intuitive user interface can sometimes lead to unwanted states, including the detached HEAD state. But learning Git is more complicated than it was with older systems. Git is fast, scalable, and has more commands and flexibility than older version control systems (VCS). If you want to keep the changes you made while in the detached HEAD state, you can solve this problem with three simple steps: However, in a detached HEAD state, the HEAD does not point to any branch, but instead points to a specific commit or the remote repository. In Git, HEAD refers to the currently checked-out branch’s latest commit. It is a strange phrase, but it’s not as alarming as it might sound.

If you are one of the millions of developers who use Git, you may have come across the “detached HEAD state”. How to discard changes in a detached HEAD.Scenarios that can cause a detached HEAD state.
