Vous avez besoin de passer à une autre branche, mais vous n’êtes pas prêt à livrer les changements que vous avez faits dans votre branche actuelle ? Vous pouvez stocker vos modifications et y revenir plus tard. C’est possible dans Git, que vous utilisiez GitHub ou un autre service d’hébergement.

Pourquoi mettre vos modifications en mémoire ?

La mise en mémoire de vos modifications est un excellent moyen de suivre votre travail en cours sans les commettre dans la branche de travail. Cela vous permet de travailler entre plusieurs branches sans pousser de modifications.

Il existe plusieurs cas dans lesquels vous pouvez avoir besoin de mettre vos modifications en mémoire. Disons, par exemple, que vous travaillez sur la branche A. Cependant, il y a un bogue sérieux dans le code de la branche B qui nécessite votre attention immédiate. Vous devez passer à la branche B pour corriger le bogue, mais vous n’êtes pas prêt à livrer le travail que vous avez fait dans la branche A.

Grâce à git stash, vous pouvez stocker vos modifications dans la branche A sans les pousser, basculer et corriger le bogue dans la branche B, puis revenir à la branche A et reprendre là où vous vous êtes arrêté.

Comment mettre les changements en cache

Vous pouvez mettre en cache vos modifications en exécutant une simple commande. Mais avant cela, vous pouvez exécuter une autre commande pour voir exactement ce que vous allez mettre de côté. Dans votre branche de travail, exécutez cette commande :

git status

Exécutez la commande git status.

Cela vous montrera à la fois les changements staged et unstaged que vous avez fait dans votre branche. Dans notre cas, nous avons modifié le fichier « test.md ». Gardez à l’esprit que git stash stockera à la fois les changements staged et unstaged.

Maintenant que vous avez passé en revue ce qui sera mis en cache, exécutez cette commande pour mettre en cache les changements :

git stash

Exécutez la commande git stash.

Une fois exécutée, vous recevrez un message indiquant que vos modifications ont été mises en cache sur . Votre branche ressemblera maintenant à ce qu’elle était avant que vous ne fassiez vos changements, et il est maintenant sûr de passer à une nouvelle branche.

COMMENT DÉFINIR DES VARIABLES DANS VOS PIPELINES GITLAB CI

Afficher les modifications cachées

Si vous avez sauvegardé plusieurs cachettes, vous pouvez vouloir voir une liste des cachettes avant d’essayer d’en récupérer une. Lorsque vous affichez la liste de vos réserves, notez le nom de la réserve que vous souhaitez récupérer et sur laquelle vous souhaitez continuer à travailler.

Dans le terminal, exécutez cette commande :

git stash list

Exécutez la commande git stash list.

Une liste de stashs sera alors retournée. Dans l’exemple ci-dessus, le nom de notre cache est [email protected]{0}. Le nombre à l’intérieur des accolades est l’index. Si vous avez plusieurs stocks sur la même branche, le numéro sera différent.

Un exemple de cachette avec différents numéros.

Si vous voulez voir les détails d’une cachette, exécutez :

git stash show

Exécutez la commande git stash show.

Vous pouvez également exécuter la commande git stash show -p pour afficher les résultats au format diff.

Récupérer les modifications mises en cache

Une fois que vous êtes prêt à reprendre là où vous vous êtes arrêté, vous devez récupérer vos modifications cachées. Il y a deux façons différentes de le faire. La première commande permet de conserver une copie de vos modifications dans la cachette tout en les copiant sur votre branche de travail. L’autre commande copiera tout sur votre branche de travail, mais supprimera tout ce qui se trouve dans la cachette.

Pour conserver une copie de vos modifications dans la cachette et les transférer dans votre branche de travail, exécutez la commande suivante

git stash apply

Exécutez la commande git stash apply.

Pour apporter les changements à votre branche de travail mais supprimer la copie de la cachette, exécutez :

git stash pop

Exécutez la commande git stash pop.

S’il y a plusieurs stashs sur une même branche, ajoutez simplement le nom du stash à la fin de la commande.

Vous pouvez maintenant continuer à travailler avec vos modifications précédentes.