Récupérer un dépot git

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

J’ai autrefois monter un serveur me permettant de stocker mes repository git. Aillant du l’arrêter, j’ai fait une sauvegarde du dossier ".git".

Me revoilà maintenant quelques années plus tard. Je voudrais récupérer les données de ce repo git. Or en ouvrant le dossier, je ne trouve que des fichiers illisibles X/ . Je suppose que c’est dans un format propre à git. Je voulais savoir, comment remettre sur pied mon serveur git ?

J’ai essayé de faire un git clone MonDossier.git mais évidemment ça n’a pas fonctionné, ça serait trop simple.

Donc je me retrouve un peu comme un idiot. :D Comment je dois procéder ?

Édité par Nicox11

+0 -0

Tu as essayé git clone /chemin/vers/ton/répertoire où le chemin est celui vers le répertoire du repo (à la racine duquel se trouve normalement le répertoire .git) ?

Donc sans le .git final ?

Édité par nohar

I was a llama before it was cool

+0 -0
Auteur du sujet

Dans les deux cas j’ai l’erreur suivante : fatal: repository does not exist

Edit : Bon j’ai tout recopier le dossier .git et ça fonctionne maintenant. Je crois que des fichiers se sont perdus en route.

Édité par Nicox11

+0 -0

Il me semble qu’il faut un protocole pour le clone. Je te propose donc d’essayer git clone git://chemin/du/repertoire. Dans le même ordre d’idée tu peux tester avec file://

Édité par artragis

+0 -0

Il me semble qu’il faut un protocole pour le clone. Je te propose donc d’essayer git clone git://chemin/du/repertoire. Dans le même ordre d’idée tu peux tester avec file://

artragis

C’est pas uniquement quand tu clones un dépôt distant ?

Sinon oui, une fois que tu as le dossier .git, ça te fait un dépôt, pas besoin de cloner derrière normalement.

Édité par mehdidou99

Plus on apprend, et, euh… Plus on apprend. | Apprendre le C++ moderne

+0 -0

Sinon oui, une fois que tu as le dossier .git, ça te fait un dépôt, pas besoin de cloner derrière normalement.

mehdidou99

Pour explorer les fichiers du dépôt, il est tout de même plus pratique de les faire apparaître sur le filesystem que de se contenter des commandes git sur ses objets.

Ça depend si tu as un dépôt bare ou pas.

Si c’est un bare il faut clone. Sinon un simple reset —hard suffit.

artragis

Ah oui, exact. Je ne connaissais pas cette nuance, je viens de me renseigner.

Mais là on a du bol :

Edit : Bon j’ai tout recopier le dossier .git et ça fonctionne maintenant. Je crois que des fichiers se sont perdus en route.

Nicox11

C’est pas un bare du coup ! :) J’ai bien compris ?

Plus on apprend, et, euh… Plus on apprend. | Apprendre le C++ moderne

+0 -0

Ah bah si c’est pas un bare il suffit de faire git reset --hard et ça remettra les fichiers en beau.

@nicox11 j’ai vu que tu avais réglé le problème, tu as fait quoi du coup? quelle est la réponse qui t’a été utile?

Édité par artragis

+1 -0
Auteur du sujet

Ah bah si c’est pas un bare il suffit de faire git reset --hard et ça remettra les fichiers en beau.

@nicox11 j’ai vu que tu avais réglé le problème, tu as fait quoi du coup? quelle est la réponse qui t’a été utile?

artragis

J’ai recopier le dossier .git en entier. Je ne sais pas pourquoi mais des fichiers manquaient. Après j’ai effectué un git clone pour retrouver mes fichiers.

Je connais très peu git, donc bare ou pas bare je ne sais pas trop à quoi ça correspond et si je doit faire la commande que tu as donné.

Édité par Nicox11

+0 -0

Cette réponse a aidé l’auteur du sujet

Je pense que le site à vraiment besoin d’un tutoriel sur git.

Quand tu as un dossier qui contient un autre dossier .git. Alors, c’est un clone d’un répo git. L’ensemble des informations est stockée dans ce dossier .git (historique des commits). Tu peux donc faire git reset --hard HEAD pour revenir au dernier état enregistré (que l’on nomme HEAD, c’est le résultat de l’application du commit en tête de pile).

Édité par ache

ache.one                 🦹         👾                                🦊

+3 -0
Auteur du sujet

Je pense que le site à vraiment besoin d’un tutoriel sur git.

Quand tu as un dossier qui contient un autre dossier .git. Alors, c’est un clone d’un répo git. L’ensemble des informations est stockée dans ce dossier .git (historique des commits). Tu peux donc faire git reset --hard HEAD pour revenir au dernier état enregistré (que l’on nomme HEAD, c’est le résultat de l’application du commit en tête de pile).

ache

Intéressant, merci. Par contre avec cette commande, je perds tout le suivit de modification antérieur ?

+0 -0

Tu perds le suivit des modifications non enregistrées ^^

Ça réinitialise dans l’état du dernier commit.

ache.one                 🦹         👾                                🦊

+0 -0

Le Pro Git Book est vraiment bien et complet. Tu peux tout aussi bien t’en servir pour apprendre uniquement les bases que pour pousser plus loin. À noter que je trouve que Git est un outil très important qui mérite qu’on pousse un peu l’apprentissage.

Je mets aussi deux liens vers des articles qui, je trouve, sont intéressants à lire une fois qu’on maîtrise un peu Git : How to write a git commit message et Understanding the Git workflow.

Bonne lecture ! :)

EDIT : Je précise que le Git Book est traduit en français si tu préfères.

Édité par mehdidou99

Plus on apprend, et, euh… Plus on apprend. | Apprendre le C++ moderne

+0 -0

Je pense que le site à vraiment besoin d’un tutoriel sur git.

ache

Je suis d’accord, mais il existe déjà du contenu francophone de qualité pour Git, typiquement le Pro Git Book. Comment se démarquer ?

Édité par mehdidou99

Plus on apprend, et, euh… Plus on apprend. | Apprendre le C++ moderne

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte