6
votes

git clean -f -d a supprimé les fichiers de mon annuaire local

git clean -f -d -d retiré des fichiers de mon annuaire local ainsi comment puis-je les récupérer? Je l'ai utilisé pour supprimer des annuaires et des fichiers non traqués et j'ai constaté qu'il l'a également supprimé de mon système de fichiers local. Est-ce possible? Qu'est-ce que j'ai mal fait et y a-t-il un moyen de les récupérer?


1 commentaires

"Qu'ai-je fait de mal?" Cela dépend de ce que vous attendiez. Il semble que git propre -f -d est comporté comme documenté: il a supprimé des fichiers non traqués et des répertoires de votre copie de travail. Par définition, s'ils ne sont pas traqués, ils ne sont pas dans le référentiel, il n'y a donc nulle part ailleurs qu'ils auraient pu être supprimés.


3 Réponses :


1
votes

Les fichiers supprimés par git propre étaient non traqués, ce qui signifie que Git n'en tenait pas une copie supplémentaire. Si vous avez besoin de les récupérer, votre meilleur pari est de immédiatement remonter le système de fichiers en lecture seule et exécutez tout ce que l'outil de récupération de fichier supprimé est approprié pour votre système d'exploitation.


0 commentaires

1
votes

Cela dépend vraiment de la façon dont vous les avez supprimés. Sous Windows, ces fichiers auraient dû passer à la corbeille de recyclage. Dans Linux, je crois que GIT utilise la commande RM afin que vous puissiez effectuer une recherche rapide sur la manière de récupérer des fichiers supprimés accidentellement avec RM.


0 commentaires

4
votes

En tant que réponse précédente, si vous travaillez sur Linux, vous ne pouvez pas les récupérer. Ils sont partis: c'est le point de "git propre". Sauf si vous utilisez un système de fichiers capable de faire des instantanés, mais vous sauriez probablement comment les récupérer.

Si votre objectif était d'éviter de les voir dans "Statut de git", vous avez deux possibilités:

a) xxx

n'imprime pas de fichiers et de répertoires non traqués.

B) S'il existe un ensemble fixe de fichiers (ou un modèle de nom de fichier) que vous ne voudrez plus jamais voir dans «Statut de git» ni ne les mettre sous versionnage, vous pouvez «les ignorer». Vous devez simplement mettre leur nom ou leur motif dans un fichier nommé "gitignore "à la racine de votre référentiel.

Ceci est généralement utilisé pour les fichiers générés.

L'exemple suivant ignore les noms de fichiers avec ".html" et le fichier appelé "out / myfile.txt": xxx

voir xxx

pour plus info.


3 commentaires

Oui Travailler sur Linux. Donc, je suppose que c'est parti :-( prix que l'un paye pour être un débutant à Git.


Ils disent qu'il y a 2 types de personnes: celles qui ont perdu du travail en raison d'une mauvaise commande git et celles qui n'ont pas perdu de travail :)


Notez que tout espoir n'est pas toujours perdu: si les fichiers sont ouverts dans un éditeur et si ledit éditeur n'est pas automatiquement rechargé, vous pouvez les enregistrer à nouveau.