답변:
당신이 (예를 들어 이전에 체크 아웃 한 가지 기억한다면 master
) 당신은 간단하게 할 수
git checkout master
분리 된 HEAD 상태에서 벗어나기 위해 .
일반적으로 말하면 : git checkout <branchname>
당신을 그로부터 벗어날 것입니다.
마지막 지점 이름이 기억 나지 않으면
git checkout -
또한 마지막으로 체크 아웃 한 지점을 체크 아웃하려고합니다.
git checkout -b new_branch_name
분리 된 HEAD 상태에있는 커밋을 잃어 버립니까?
git gc
실행되면 영원히 제거됩니다. git reflog
그들이 여전히있는 한 그들을 볼 수 있습니다 .
파일 케이스 구조가 다른 이전 버전의 코드를 체크 아웃 한 경우가 있습니다.
git checkout 1.87.1
warning: unable to unlink web/sites/default/default.settings.php: Permission denied
... other warnings ...
Note: checking out '1.87.1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again.
Example:
git checkout -b <new-branch-name>
HEAD is now at 50a7153d7... Merge branch 'hotfix/1.87.1'
이와 같은 경우 --force를 사용해야 할 수도 있습니다 (원래의 브랜치로 돌아가서 변경 사항을 버리는 것이 안전하다는 것을 아는 경우).
git checkout master
작동하지 않았다:
$ git checkout master
error: The following untracked working tree files would be overwritten by checkout:
web/sites/default/default.settings.php
... other files ...
git checkout master --force
(또는 git checkout master -f
)
git checkout master -f
Previous HEAD position was 50a7153d7... Merge branch 'hotfix/1.87.1'
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
detached HEAD
주 에서 새로운 커밋을 한 것 같습니다 . 다른 답변이 조언하는대로 할 수 있다고 생각합니다.
git checkout master
# or
git checkout -
그러면 커밋을 잃을 수도 있습니다! 대신이 작업을 수행 할 수 있습니다.
# you are currently in detached HEAD state
git checkout -b commits-from-detached-head
그런 다음 commits-from-detached-head
원하는 분기 로 병합 하여 커밋을 잃지 않습니다.
git checkout -
-킬러 기능!