69 votes

fatal: mauvaise révision par défaut 'HEAD'

Je suis à l'aide de GIT que mon système de contrôle de source. Nous l'avons installé sur l'une de nos boîtes de Linux. Tortoise GIT est mon client windows.

Ce matin, j'ai vérifié quelques changements, et marqué le code. Puis j'ai fait une poussée de mon dépôt local vers le dépôt distant.

Quand je vais à mon référentiel sur les unix et tapez git log je reçois:

fatal: bad default revision 'HEAD'

Mais quand je fais un show log à l'aide de mes fenêtres tortoiseGit client de l'histoire vient joliment comme par en-dessous...

---
SHA-1: f879573ba3d8e62089b8c673257c928779f71692

Initial drop of code

---
master origin/master oms-phase4-v1.0.0
SHA-1: 56176dbe45e6175b18c9f44533828806c63142ab

OMS Phase 4 - Added OMS Cust. Order No. to EDI Purchase Order Header screens

Tag Info

object 56176dbe45e6175b18c9f44533828806c63142ab
type commit
tag oms-phase4-v1.0.0
tagger Richard Riviere <richard.riviere@myer.com.au> 1364338495 +1100

---
SHA-1: 0000000000000000000000000000000000000000

Working dir changes
0 files changed

---

Le code a certainement été poussé vers le dépôt distant. J'ai été en mesure de vérifier par cloner le dépôt dans un répertoire différent.

Personne ne sait pourquoi je suis la réception de l' fatal: bad default revision 'HEAD'?

p.s. C'est un dépôt nu toutefois, j'ai créé d'autres nus dépôts qui n'ont pas eu ce problème.

34voto

chrispy Points 3678

Cela m'arrive lorsque la branche dans laquelle je travaille est supprimée du référentiel, mais que l'espace de travail dans lequel je me trouve n'est pas mis à jour. (Nous avons un outil qui vous permet de créer plusieurs "espaces de travail" git à partir du même référentiel en utilisant simlinks.)

Si git branch ne marque aucune branche comme actuelle, essayez de faire

 git reset --hard <<some branch>>
 

J'ai essayé un certain nombre d'approches jusqu'à ce que je travaille sur celui-ci.

25voto

linquize Points 5418

Pas encore engagé?

C'est une branche orpheline si elle n'a pas de commit.

18voto

jthill Points 10384

Votre pension est le vôtre, ce qui se passe dans c'est entièrement de votre entreprise jusqu'à ce que vous pousser ou (permettre) de récupérer ou de clone. Lorsque vous avez supprimé de votre windows repo -- ce dossier n'est pas votre local repo, il est de votre local repo, vous avez supprimé tout ce qui est fait qui n'a jamais été poussé, récupérés ou cloné.

edit: Ah, d'accord, je crois que je vois ce qui se passe ici: vous poussé votre linux repo mais il n'est pas nu et vous n'avez jamais travaillé dans l'informatique.

Au lieu de git log, n' git log --all. Ou git checkoutsome-branch-name.

Puis essayer de cloner le repo local, sur votre machine linux; je parie qu'il fonctionne. De quoi êtes-vous à l'aide de servir votre repo sur linux? Essayez cd avec dans son .répertoire git et git daemon --base-path=. --export-all, si c'est juste assis là, alors allez à votre boîte de windows et essayez git clone git://your.linux.box.ip, si le démon se plaint qu'il ne peut pas se lier d'ajouter --port=54345 pour le démon de l'invoquer et de l' :54345 le clone de l'url.

6voto

user2394284 Points 97

Assurez-vous que la branche "maître" existe! Ce n'est pas un nom apparemment.

J'ai eu cette erreur après avoir créé un référentiel nu vierge, y avoir poussé une branche nommée "dev" et essayé d'utiliser le journal git dans le référentiel nu. Fait intéressant, git branch sait que dev est la seule branche existante (donc je pense que c'est un bogue git).

Solution: j'ai répété la procédure, cette fois en renommant "dev" en "maître" sur le référentiel de travail avant de passer au référentiel nu. Succès!

-1voto

Taimoor Changaiz Points 892

Cela signifie que vous n'êtes dans aucune branche maintenant.

Alors passez à une branche comme

 git checkout master
 

maintenant courir

 git log
 

hurraa ça marche

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