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.
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.
Nous avons également été confrontés à la même question. Donc, voici comment nous avons récupéré les changements perdus:
retourner à la branche B.
git checkout B
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
maintenant, passez à la branche A en utilisant
git checkout A
enfin, pour récupérer vos changements perdus.
git stash s'appliquent f332d5c
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.