diff --git a/gitrefcard.tex b/gitrefcard.tex index bc0cd52700289d5d90c65028225492dba5df0418..9eaafc42cbff9d3aed5cacccb7405348a9bceebd 100644 --- a/gitrefcard.tex +++ b/gitrefcard.tex @@ -307,6 +307,44 @@ distant\\ \exindex{git checkout} %====================================================================== +%====================================================================== +\subsubsection{\ex{git stash}} +\label{sec:gitstash} +\exindex{git stash} +%====================================================================== + +Cela correspond au \emph{remisage} : la possibilité de remiser un +travail non finalisé, sur lequel on ne souhaite pas faire de commit et +qui est du coup une entrave pour une autre opération (un \ex{pull}, un +changement de branche, etc.) +\begin{itemize} +\item + Sous sa forme la plus simple, il suffit d'invoquer \ex{git stash}, + ce qui sauve tout les modifications en attente dans une pile. +\item + Après avoir effectué ce qu'on devait faire, un \ex{git stash apply} + permet de restaurer le dernier\footnote{Ne pas oublier que c'est une + pile de remisages} remisage fait. + Attention, le remisage reste dans la pile. + Pour le supprimer, il faut faire un \ex{git stash drop}. +\item + Souvent, on souhaite à la fois appliquer le dernier remisage et à la + fois le supprimer de la pile. + Une commande permet de combiner le \ex{apply} et le \ex{drop} : + c'est \ex{git stash pop}. +\item + La commande \ex{git stash list} permet d'afficher tous les remisages + présents dans la pile ; chacun est identifiable au moyen d'un + identifiant de la forme \ex{stash@\{\emph{x}\}}, où \ex{\emph{x}} + est un nombre (0 pour le dernier remisage, 1 pour + l'avant-dernier...) +\item + Il est possible d'appliquer les commandes précédentes (\ex{apply, + drop}) avec un identifiant en paramètre. + Exemple : \ex{git stash apply stash@\{1\}} pour appliquer + l'avant-dernier remisage. +\end{itemize} + \printindex