2010-12-08 7 views
0

Je n'avais pas réalisé que tous mes fichiers étaient stockés et attachés au référentiel .git. Je pensais juste que je supprimais la version .git du proj. J'ai fait unComment puis-je récupérer après la suppression du répertoire .git?

rm -fr .git 

J'ai perdu tout mon travail! Que devrais-je faire?

+0

double possible: http://stackoverflow.com/questions/2125710/how-to-revert-a-git-rm-r –

+2

Est-ce que vous exécutez 'git rm -fr' ou avez-vous couru 'rm -fr .git'? L'une est une commande git, l'autre est une commande shell. –

+0

Plus important encore, 'git rm -fr' n'est pas une catastrophe :) –

Répondre

1

Vous pouvez extraire une nouvelle copie du référentiel à partir de n'importe quelle copie distante. Si vous avez partagé votre travail avec d'autres développeurs (c'est-à-dire que quelqu'un a pull ed depuis votre dépôt ou si vous avez push dans le leur), ou si vous avez votre propre référentiel "maître" alors vous devriez être OK.

Vous devriez toujours avoir votre copie de travail si le répertoire .git était la seule chose que vous avez supprimée. Tout votre historique sera parti mais au moins votre code ne sera pas.

Si c'était vraiment la seule copie de votre travail alors vous pourriez ne pas avoir de chance, désolé. Sauf si votre système de fichiers a une option "undelete" (ce qui n'est probablement pas le cas si vous utilisez Linux).

+0

Mon Dieu, je suis si bête ... Je n'avais pas de copie. Je vais regarder dans la récupération de données .. des suggestions? (snow leopard sur un mac) – mtay

+0

Avez-vous toujours la copie de travail, c'est-à-dire tout sauf le répertoire .git? –

+0

Rechercher un testdisk pour la récupération de données. J'ai eu du succès avec ça dans le passé. C'est un outil de ligne de commande gratuit. – d11wtq

1

Avez-vous déjà transmis vos modifications à un autre référentiel (par exemple github.com ou quelqu'un d'autre dans votre équipe?). Git est distribué, ce qui signifie que des choses comme ça ne devraient pas avoir d'importance. Juste 'git clone' une nouvelle copie de quelque part qui existe encore.

Si votre référentiel Git était uniquement stocké au même endroit et que vous ne l'aviez jamais poussé (ou tiré à l'origine) vers/depuis un autre emplacement, vous n'avez plus de chance, mon pote;) Vous avez toujours votre travail Tree, donc le mieux que vous ferez est de 'git init' et de commencer un nouveau repo à partir de ce que vous avez actuellement.

On dirait que vous devez lire sur git ... le fait que tout se trouve dans le répertoire '.git' est peut-être l'un des aspects les plus élémentaires pour comprendre git.

http://www.gitready.com/

Questions connexes