Peut défaire une extraction de fichiers non stockés

Je rejette accidentellement mes modifications sur les fichiers de mon arbre de travail local via la commande git. Les fichiers ne sont pas mis en scène pour le moment. Est-il possible de “défaire” cette caisse?

Je crois que si un fichier est modifié mais pas encore ajouté (mis en scène), il est purement “privé”.
Cela signifie qu’il ne peut pas être restauré par GIT s’il est remplacé par l’index ou la version HEAD (à moins que vous n’ayez une copie de votre travail actuel quelque part). ”

Un contenu “privé” est un contenu uniquement visible dans votre répertoire actuel, mais pas enregistré de quelque manière que ce soit dans Git.

Si vous utilisez un IDE “professionnel”, il est probable que vous puissiez restaurer des fichiers à partir d’un historique local. Dans Rubymine, par exemple, vous pouvez cliquer avec le bouton droit de la souris et regarder un historique des modifications indépendamment des modifications de git, ce qui m’a sauvé quelques fois maintenant ^^

Malheureusement, vos modifications sont perdues. Vos modifications privées sont simplement écrasées. A moins que vous n’ayez git stash avant de git stash caisse …

Prenez-le du bon côté: vous pouvez maintenant mettre en œuvre les choses encore mieux;)

Si vous travaillez dans un éditeur comme Sublime Text et que le fichier en question est toujours ouvert, vous pouvez appuyer sur Ctrl + Z pour revenir à l’état antérieur à la vérification de git.

Vérifiez l’historique local dans votre IDE.

Développer sur OS X? Utiliser Xcode? Vous êtes susceptible d’avoir de la chance!

Comme décrit dans un commentaire de qungu , OS X conserve un historique de version des fichiers enregistré automatiquement, même si vous n’utilisez pas time machine .

Donc, si vous avez époustouflé vos changements locaux imprévisibles avec une git checkout . inconsidérée de votre part git checkout . , voici comment vous pouvez probablement récupérer tout votre travail.

Si quelqu’un trouve ce thread ayant détruit du travail dans XCode, il existe un moyen d’obtenir l’historique de sauvegarde automatique. XCode lui-même n’a pas d’entrée de menu pour afficher l’historique de sauvegarde automatique, mais il le stocke. Si vous ouvrez les fichiers en question dans TextEdit, vous pouvez revenir sur l’historique de l’enregistrement automatique sous Fichier> Revenir.

Ce qui est génial, et récupéré d’une journée de travail pour moi, hier.


Vous pourriez vous demander, “Pourquoi l’interface utilisateur de ligne de commande git, le premier VCS utilisé pour l’ingénierie logicielle en 2016, ne sauvegarde-t-elle pas les fichiers avant de les faire exploser? Comme des outils logiciels bien écrits pour le dernier trois decennies.”

Ou peut-être vous demandez, “Pourquoi cette fonctionnalité d’historique de fichiers incroyablement impressionnante est-elle accessible dans TextEdit, mais pas dans Xcode où j’en ai réellement besoin?”

… Et je pense que les deux vous en diront beaucoup sur notre indussortinge. Ou peut-être allez-vous réparer ces outils. Ce qui serait génial.

Si vous avez déjà dissimulé les modifications plus tôt (par exemple, avant de procéder à un nouveau calcul), cela vous aidera probablement.

Comment récupérer une cachette perdue dans Git?

même si vous avez déjà “caché” les changements.

J’ai normalement tout mon travail dans un dossier déroulant. Cela m’assure que le dossier actuel serait disponible en dehors de mon ordinateur local et de Github. Je pense que c’est mon autre étape pour garantir un “contrôle de version” autre que git. Vous pouvez suivre cela pour restaurer votre fichier aux versions précédentes de vos fichiers de boîte de repository

J’espère que cela t’aides.

Techniquement oui. Mais seulement dans certains cas. Si, par exemple, vous avez la page de code et que vous appuyez sur checkout, et vous vous rendez compte que vous avez accidentellement extrait la mauvaise page ou quelque chose. Accédez à la page et cliquez sur Annuler. (pour moi, commande + z), et cela vous ramènera exactement où vous étiez avant que vous n’atteigniez le bon vieux checkout git.

Cela ne fonctionnera pas si votre page a été fermée, puis vous appuyez sur git checkout. Cela ne fonctionne que si la page de code est ouverte

Time Machine (OS X) ou un système de sauvegarde temporel similaire est un bon moyen de sauver des vies. Cela m’a sauvé plusieurs fois parce que je peux revenir en arrière et restaurer uniquement ce fichier.

Si vous travaillez avec une invite terminal / cmd ouverte, et que vous avez utilisé toutes les commandes git qui auraient montré les modifications non stockées ( diff , add -p , checkout -p , etc.), et n’ont pas fermé l’invite terminal / cmd depuis, Vous constaterez que les modifications non mises en scène sont toujours disponibles si vous faites défiler jusqu’à l’endroit où vous avez exécuté les commandes git susmentionnées.

Peut-être que vos changements ne sont pas perdus. Cochez “git reflog”

Je cite l’article ci-dessous:

“Fondamentalement, chaque action que vous effectuez à l’intérieur de Git où les données sont stockées, vous pouvez la trouver à l’intérieur du refog. Git essaie vraiment de ne pas perdre vos données, donc si en utilisant Gog Reflog ”

Voir les détails:

http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html