Будь-яка перевірка комісії, яка не є іменем однієї з ваших гілок, отримає вам відокремлену ГЛАВУ. SHA1, який представляє кінчик гілки, все ще надає відокремленій головці. Лише замовлення назви місцевої філії уникає цього режиму.
Дивіться вчинення дії з відокремленою головою
Коли HEAD від'єднано, виконує роботу як звичайно, за винятком того, що жодна гілка не називається. (Ви можете думати про це як анонімну гілку.)
Наприклад, якщо ви оформили замовлення на "віддалену гілку", не відстежуючи її спочатку, ви можете одержати відокремлену ГОЛОВУ.
Див. Git: перемикання гілки, не відриваючи голову
З Git 2.23 (серпень 2019 року) вам більше не доведеться використовувати заплутану git checkout
команду .
git switch
Ви також можете оформити відділення та отримати від'єднану ГОЛОВУ, за винятком:
- він має явний
--detach
варіант
Щоб перевірити комісію HEAD~3
для тимчасової перевірки чи експерименту без створення нової гілки:
git switch --detach HEAD~3
HEAD is now at 9fc9555312 Merge branch 'cc/shared-index-permbits'
- він не може помилково від'єднати гілку відстеження
Подивитися:
C:\Users\vonc\arepo>git checkout origin/master
Note: switching to 'origin/master'.
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 switching back to a branch.
Vs. за допомогою нової git switch
команди:
C:\Users\vonc\arepo>git switch origin/master
fatal: a branch is expected, got remote branch 'origin/master'
Якщо ви хочете створити нову локальну гілку, яка відстежує віддалену гілку:
git switch <branch>
Якщо <branch>
його не знайдено, але існує відділення відстеження точно в одному віддаленому (назвіть його <remote>
) з відповідним ім'ям, вважайте його рівнозначним
git switch -c <branch> --track <remote>/<branch>
Більше не помилки!
Більше немає небажаної відмежованої ГЛАВИ!
branch-name@{n}
, n-а попередня позиціяbranch-name
. Але незважаючи ні на що, в якийсь момент, мабуть, було такеgit checkout <rev>
. Якщо це не дзвонить, то, ймовірно, ви зробили те, що згадував Вілл, - спробували зробитиgit checkout <file>
і вдалося вказати ревізію випадково.