La récupération de cassé dépôt git
Mon travail le dépôt git est cassé, c'perdre la trace de tous les fichiers qu'il contient, c'est à dire
$ git log fatal: bad de révision par défaut "TÊTE"
$ git status ... on m'a dit que tous les fichiers sont de nouveau
Cependant l' .répertoire git ne contiennent mes objets.
$ du-sh .git 34 .git
$ git comte-objets 4151 objets, 32692 de la classe kilo-octets
$ git --version de version git 1.6.0.4
La dernière chose dont je me souviens avant qu'il a mal a la création (clone --miroir) un référentiel de sauvegarde à une monté en NFS server. Cependant, le référentiel de sauvegarde cloné est cassé de la même façon.
Comment puis-je restaurer mon dépôt?
Est-il un
Non, git branch -a' ne me dit rien.
master
succursale dans votre référentiel? Aussi, ne vous obtenez un résultat différent avec git log --all
?Non, git branch -a' ne me dit rien.
OriginalL'auteur Eyoka | 2009-10-09
Vous devez vous connecter pour publier un commentaire.
Il doit y ai quelque chose de plus que le clone, mais je sais combien il est difficile de se souvenir de ces choses.
La première chose que vous voulez faire est de regarder dans .git/refs et voir si il n'y a rien de valable là-bas (je ne suis pas trop optimiste puisque vous dites qu'il ne semble pas y avoir de toutes les branches, mais ça vaut le coup). Si pour être valable, toute refs existe pas, vous pouvez être en mesure d'obtenir quelques informations de
git-reflog
.Prochaine, je commence à avoir un coup d'oeil à
git-fsck
. Son but principal est de vérifier la connectivité et la validité des objets dans la base de données. Selon ce exactement qui est arrivé à votre pension, vous pouvez avoir besoin--unreachable
ou--lost-found
. Nous espérons que les objets sont intacts, donc tout ce que vous devez faire est de trouver balançant quelques commettre des hachages de vérifier et de recréer les branches.OriginalL'auteur Cascabel
Vous pouvez examiner manuellement, mais qui aurait besoin d'un peu de connaissances sur le format du référentiel.
Sans regarder le référentiel est difficile de dire ce qui se passe, mais probablement un fichier a été endommagé.
Exécuter git fsck et il vous dira si votre dépôt est toujours valide.
D'afficher le résultat de la commande git fsck exécuter et qui devrait nous aider à vous aider.
OriginalL'auteur Asrail
Essayez de vérifier si chacun de vos fichiers .git/sont la propriété de l'utilisateur courant.
J'ai eu le même problème, lors de la réalisation j'ai fait quelques engage avec l'utilisateur root, et que les objets créés (en vertu de l' .git/objects) où belongig à la racine, trigering erreurs lors de l'exécution de git en tant que simple utilisateur.
Cette commande a résolu le problème:
OriginalL'auteur Jb.
J'ai eu ce problème seulement maintenant, après mon GitHub application (PC) s'est écrasé. Ma branche disparu lors de l'utilisation de
git branch
et il l'a gardé promting moi de faire mon premier commit. Je l'ai résolu en plaçant ma branche dans.git/refs/heads/
et en le renommant demybranch.lock
justemybranch
(suppression de la serrure).OriginalL'auteur Jens
J'ai eu ce problème après un développeur a fait un
$ git init
à l'intérieur de la nue-maître de la centralisation des pensions.Si vous travaillez avec un référentiel avec des pas de répertoire de travail, vérifier la
.git
dossier; la suppression de ce qui devrait résoudre le problème.OriginalL'auteur Noob-o-tron 5000