perdu git stash changements

alors voici ce qui s'est passé: J'étais sur une branche " A " et j'ai fait une grosse cachette sur cette branche. Puis je suis passé à une autre branche "B". J'ai navigué jusqu'à la branche ' A ' mais je n'ai pas fait de git stash pop. Je suis passé à la branche principale, puis à la branche "A". J'essaie de faire un saut périlleux, mais je n'arrive pas à récupérer mes changements.. J'ai besoin de récupérer ce code mais chaque fois que je fais un pop git stash, mes modifications de fichier ne sont pas listées. Je n'ai pas commettre l'un quelconque code.

Est-il un moyen de récupérer les modifications que j'ai fait? j'apprécierais vraiment toute aide à cet égard.

16
demandé sur SQB 2012-08-27 21:57:56

3 réponses

les cachets doivent être visibles via

git stash list

ou

gitk --all

également git stash ne stocke pas les fichiers non tracés. Si vous avez fait ceci et par la suite fait un git checkout --force d'une autre branche de remplacer sans traces des fichiers de suivi dans une autre branche, vous avez perdu ce contenu. La façon recommandée de planquer est avec

git stash -u

ceci empêchera les pertes de ce type.

7
répondu Adam Dymitruk 2012-08-27 20:22:11

Nous avons également été confrontés à la même question. Donc, voici comment nous avons récupéré les changements perdus:

  1. retourner à la branche B.

    git checkout B

  2. Utiliser git reflog option pour gérer reflog de l'information.

    git refrog --all

    Sortie:

    f332d5c refs / stash@{0}: WIP on B: aa1d0c1 XYZ commit message

  3. maintenant, passez à la branche A en utilisant git checkout A

  4. enfin, pour récupérer vos changements perdus.

    git stash s'appliquent f332d5c

15
répondu Puneet Behl 2014-03-16 16:38:14

quelque chose de semblable m'est arrivé. En bref, assurez-vous que vous n'avez pas accidentellement pousser les nouveaux fichiers de l'autre branche.

voici ce qui m'est arrivé: j'ai caché mes affaires, je suis passé de " dev " à "master" pour faire un hotfix rapide. Quand j'ai poussé mon hotfix à master, Je n'ai pas remarqué que j'ai aussi ajouté mes nouveaux fichiers qui étaient destinés à dev à la branche master--j'ai aussi supposé que stash incluait ces fichiers.

1
répondu JohnnyFun 2015-12-09 20:53:40