J'utilise fréquemment git stash
et git stash pop
pour enregistrer et restaurer les modifications dans mon arbre de travail. Hier, j'ai eu quelques changements dans mon arbre de travail que j'avais cachés et sautés, puis j'ai apporté plus de changements à mon arbre de travail. Je voudrais revenir en arrière et revoir les modifications cachées d'hier, mais git stash pop
semble supprimer toutes les références au commit associé.
Je sais que si j'utilise git stash
alors .git / refs / stash contient la référence du commit utilisé pour créer le stash. Et .git / logs / refs / stash contient la totalité de la cachette. Mais ces références ont disparu git stash pop
. Je sais que le commit est toujours quelque part dans mon référentiel, mais je ne sais pas ce que c'était.
Existe-t-il un moyen facile de récupérer la référence de validation de cache d'hier?
Notez que ce n'est pas critique pour moi aujourd'hui car j'ai des sauvegardes quotidiennes et je peux revenir à l'arborescence de travail d'hier pour obtenir mes modifications. Je demande parce qu'il doit y avoir un moyen plus simple!
git stash
, git pull -r upstream
, git push -f origin
, git stash pop
et pop dit « fatale: journal refs / Stash est vide ». 😲 J'ai essayé un tas de ces réponses, rien n'a fonctionné. Quand j'ai regardé en .git / refs / stash , le SHA était là. Peut-être un problème avec le marquage d'un lecteur réseau Windows pour la synchronisation hors ligne? 🤷♂️
git stash pop
, vous pouvez le faire à lagit stash apply
place. Il fait la même chose, sauf qu'il ne supprime pas la référence à la cachette appliquée.