Git Stash « already exists, no checkout »

Bonjour le web,

J’ai eu un soucis avec git stash :

Voici la procédure que j’ai appliqué à partir de ce StackOverflow.

Tous d’abord commençons par la commande git log --graph --all --decorate --oneline qui doit produire une sortie similaire à :

On peux voir notre stash en ligne 3 (la ligne 6 pour les fichiers suivis par git et la 7 pour les fichiers non suivis). Nous allons désormais créer une branche temporaire et faire nos modifications dessus :

Désormais un git status devrait afficher quelque chose comme :

On ajoute le fichier problématique avec git add src/[...]/Form/PretType.php ou avec git add . si vous avez plusieurs fichiers a enregistrer (comme mon cas) puis on commit avec git commit. Avec git log --graph --all --decorate --oneline, on retrouve nos deux commit (lignes 1 et 2) effectué plus haut :

Nous allons ensuite fusionner notre branche master avec notre branche de récupération :

La sortie devrais être la suivante :

Enfin, on commit les modifications fusionnées (à l’aide du --squash avec git commit -a. On supprime notre branche de récupération (git branch -D recup) ainsi que notre stash (git stash drop) et on effectue un git log --graph --all --decorate --oneline et TADAAA :

Tous va bien sur notre branche master et vous avez réussi à enregistré votre fichier dans ce capricieux .

Laisser un commentaire