Git/Remise (stash)

Un livre de Wikilivres.
< Git

Remiser des changements[modifier | modifier le wikicode]

Cette fonctionnalité permet de remiser des modifications locales quand vous souhaitez changer de branches et que vous ne souhaitez pas les indexer ("git add") ou les ajouter à votre dépôt local ("git commit").

Remiser des modifications (fichiers suivis ou indexés) :

git stash

La remise se comporte comme une pile ; les dernières modifications remisées sont placées au sommet de la pile.

Vous pouvez visualiser le contenu de votre remise avec la commande :

git stash list

Remiser des modifications et des créations (fichiers non suivis ou non indexés)  :

git stash save -u

Annuler un merge suite à un stash conflictuel :

 git reset --merge

Appliquer une remise[modifier | modifier le wikicode]

Pour appliquer les dernières modifications remisées en les supprimant de la remise :

git stash pop

Note : cette commande est équivalente à "git stash pop stash@{0}".

Pour appliquer les dernières modifications remisées en les laissant dans la remise :

git stash apply

Note : cette commande est équivalente à "git stash apply stash@{0}".

Il est possible d'appliquer ces commandes à n'importe quelles modifications remisées (par exemple "git stash apply stash@{2}").

Inspecter le contenu d'une remise[modifier | modifier le wikicode]

Pour inspecter les dernières modifications remisées :

git stash show

Pour comparer le contenu de la remise avec le commit tel qu'il était lorsque le remisage a été effectué :

git stash show -p

Il est possible d'appliquer ces commandes à n'importe quelles modifications remisées (par exemple "git stash show -p stash@{1}").

Supprimer toutes les remises[modifier | modifier le wikicode]

git stash clear