Oui, c'est normal pour les nouveaux nu et non nu) référentiels.
Explication
HEAD
est ce que Git appelle une symbolique de référence—une référence à une autre référence.
Non nu dépôts, HEAD
indique normalement la branche est en cours d'extraction. Un nouveau commit sera la cause de la branche nommée par HEAD
être avancée à consulter le nouveau commit. Lors de l' HEAD
se réfère à un objet commit directement au lieu d'une branche, il est considéré comme détaché, le sens s'engage également à ne pas provoquer une branche de référence pour être avancés pour consulter les nouveaux commits (dangereux parce que la vérification d'un commit différent ou de la branche rendra la nouvelle s'engage inaccessible par toute référence existante, ce qui les rend difficiles à trouver et sous réserve de la collecte des ordures).
Nues dans les référentiels, HEAD
indique le référentiel de la branche par défaut, de sorte que dans une copie de travail du dépôt git checkout origin
est équivalent à git checkout origin/master
si master
est la branche par défaut (voir git help rev-parse
pour les détails).
Lorsque Git initialise un nouveau référentiel, il initialise HEAD
pour désigner refs/heads/master
(en d'autres termes, HEAD
de points à l' master
de la branche par défaut). Cependant, il ne permet pas de créer une branche nommée master
car il n'y a pas engage dans le référentiel pour l' master
point encore.
Donc, jusqu'à ce que vous créez un master
de la succursale ou de changement HEAD
pour pointer vers une direction qui n'existe pas, vous obtiendrez ce message d'erreur lorsque vous exécutez une commande qui ressemble à l' HEAD
(comme git log
ou git show
sans arguments).
Vous pouvez toujours utiliser des commandes qui ne sont pas d'examiner HEAD
. Par exemple:
git log some_branch_that_exists
Fix
Pour se débarrasser de ce message d'erreur, vous pouvez effectuer l'une des opérations suivantes:
-
Variation HEAD
pour pointer vers une direction qui n'existe pas:
git symbolic-ref HEAD refs/heads/some_other_branch
- Pousser un nouveau
master
de la branche dans le référentiel de quelque part d'autre
-
Créer un nouveau master
de la branche en local:
git branch master some_existing_commit
Visualisation
Pour visualiser le tout dans le référentiel, - je utiliser quelque chose comme ceci:
git log --graph --oneline --date-order --decorate --color --all
Notez que la commande ci-dessus va travailler même si HEAD
vers inexistante de la branche.