85 votes

Erreur Git "fatal : ambiguous argument 'HEAD' : unknown revision or path not in the working tree"

J'essaie d'initialiser un nouveau dépôt Git à partir de Debian (en fait une VM sur VirtualBox, installée et fonctionnant sur Mac OS X) :

cd ~
mkdir test
cd test
git init

Initialized empty Git repository in /home/david/test/.git/
fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions

[david@server-VM-001:test  (master #) $]

Quel est le problème ?

1voto

jvenema Points 21499

La racine de ce problème est que l'une des références que vous recherchez n'existe pas.

Cela peut s'expliquer par le fait que :

  1. le commit que vous recherchez n'a pas encore eu lieu (d'où les diverses réponses sur le fait qu'un nouveau dépôt ne fonctionne pas)
  2. vous avez cloné le dépôt avec un checkout peu profond (--depth = 0, bare, ou mirrored)
  3. vous avez consulté un dépôt en excluant des tags et/ou des branches et vous recherchez ce tag/branche par son nom

...et probablement d'autres raisons que je ne connais pas. Dans mon cas, la caisse était pleine, mais excluait les tags. En cours d'exécution :

git fetch --all --tags

a clarifié la situation.

1voto

jcollum Points 10236

J'ai rencontré un problème à ce sujet et aucune des réponses données ici ne m'a aidé. Le problème s'est avéré être dans une vérification de pré-commission qui utilisait git rev-parse . Le script vérifiait si la branche courante était master . Je l'ai modifié pour utiliser git branch --show-current dans le script à la place et le problème a disparu. Il serait utile que le message d'erreur indique la fonction qui pose problème.

1voto

infomasud Points 448

Voie 1 : Bien que vous voyiez ce message, vous pouvez effectuer des modifications et les valider. ainsi

git add .
git commit -m "Initial commit"

Après votre premier commit, ce message disparaîtra car vous aurez une branche master par défaut.

voie 2 : Vous pouvez commencer le commiting sans créer de branche comme l'a dit J.Adler

 git commit --allow-empty -n -m "Initial commit."

Le message disparaît donc. Et plus tard, vous pourrez créer votre branche.

-8voto

Jignesh Patel Points 67

J'ai eu le même problème et je l'ai résolu en utilisant le "pod setup" après l'installation. CocoaPods .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X