Git stash : créer une sauvegarde des modifications en cours

Lorsque vous travaillez sur un projet Git avec plusieurs branches et une équipe qui développe ensemble, vous avez probablement rencontré un moment où vous aviez besoin de faire quelque chose d’autre et ne vouliez pas perdre ce que vous aviez déjà fait ou livrer ce code incomplet. Vous pourriez faire un commit et ensuite l’écraser, mais ce n’est pas la meilleure ni la seule option. Pour cela, il y a la cachette git.

Cette commande est chargée de faire une sauvegarde des modifications qui ne sont pas encore finalisées, qui n’ont pas besoin ou ne peuvent pas être engagé en ce moment. Dans ce billet, nous allons en apprendre davantage sur les possibilités offertes par la cachette git et sur la meilleure façon de l’utiliser.

Vérifiez les sujets présentés dans le texte :

  • Qu’est-ce que la cachette Git et à quoi sert-elle ?
  • Comment utiliser la réserve de Git ? Le pas à pas !

Bonne lecture !

Qu’est-ce que la cachette Git et à quoi sert-elle ?

La cachette Git archive les modifications non validées de votre poste de travail, c’est-à-dire qu’elle revient à l’état de votre dernière version de Git. commettre sauvegarder les modifications supplémentaires que vous avez apportées. Pour faire une analogie, c’est presque comme faire une sauvegarde de vos modifications de fichiers.

Il existe quelques situations très utiles pour utiliser cette commande, dont certaines sont énumérées ci-dessous :

  • Vous travaillez sur des modifications et vous devez effectuer un test en ignorant ce que vous avez fait, mais sans tout perdre.
  • Vous avez commencé le développement sur la mauvaise branche et vous ne voulez pas perdre les changements.
  • Vous avez décidé de créer une nouvelle branche à partir de ces changements et de ne plus travailler sur la branche actuelle.
  • Permet de tester une nouvelle approche du même problème sans perdre la version sur laquelle vous travailliez et sans avoir à faire un commit.
  • Vous aurez besoin d’apporter un changement à une autre branche ou même de faire une correction rapide, mais vous ne voulez pas perdre les changements que vous avez faits jusqu’à présent et ne pas faire un commit.

Dans toutes ces situations, vous pouvez utiliser la cachette git pour vous aider.

Ce qui se passe en pratique, c’est que Git crée une branche temporaire avec toutes les modifications que vous avez apportées, revient à la branche sur laquelle vous travailliez et annule tout ce qui n’a pas été commité.. Tout au long de ce post, nous expliquerons mieux comment récupérer ces changements, comment créer de nouvelles branches à partir de ceux-ci, entre autres options.

Comment utiliser la réserve de Git ? Le pas à pas !

Comment faire une cachette au travail ?

Imaginez un scénario où vous travaillez sur votre projet en modifiant certains fichiers et où vous devez soudainement changer de branche, mais vous ne voulez pas valider ou supprimer les modifications que vous avez apportées.

Pour résoudre ce problème, il suffit d’exécuter la commande git stash. Si vous remarquez dans l’image ci-dessous, avant le stash, il y a un fichier modifié par l’exécution de la commande git status, et après, la branche est totalement propre. À ce moment, vous pouvez travailler sur cette branche ou d’autres branches sans aucun problème, car vos modifications seront stockées dans la pile stash.

Faire une cachette avec Git stash

Liste de vos réserves : git stash list

Vous pouvez refaire ces « sauvegardes », c’est-à-dire.., vous pouvez utiliser la commande stash plus d’une fois. Ces branches temporaires sont stockées dans une pile. Vous pouvez voir tous les fichiers stockés en lançant la commande git stash list.

Pile de stockage git stash

Réappliquer les changements du dernier stash : git stash pop

Pour rétablir les modifications de la dernière cachette, vous devez savoir qu’elle fonctionne comme une pile. ICela signifie qu’à chaque fois qu’un élément est inséré dans la réserve de la pile, il est inséré au sommet, et à chaque fois qu’il est retiré (pop) se fait également par le haut.

Ainsi, pour retirer et appliquer l’élément du haut ([email protected]{0}), il suffit d’exécuter la commande git stash pop.

Exécution de git stash pop

Dans cette commande, vous pouvez voir que la référence à [email protected]{0} de la pile a été supprimé. Mais aussi il est possible d’appliquer ces changements sans supprimer cette référence. C’est utile lorsque vous devez utiliser ces modifications plus d’une fois. Donc, pour cela, il suffit d’utiliser la commande git stash apply.

Appliquer les changements sans supprimer la référence

Créer des cachettes sur des fichiers spécifiques : git stash -p

Parfois, vous ne souhaitez pas enregistrer toutes les modifications dans la cachette, mais seulement certains fichiers ou certaines parties du code. Pour cela, vous pouvez utiliser l’option -p, et vous pouvez décider dans chaque partie du code ce qu’il faut faire.

Décider quelle partie du code utiliser avec git stash

Après l’apparition des changements, une liste de commandes apparaîtra avec ce que vous pouvez utiliser. Nous allons vous expliquer les plus courantes :

Commande Qu’est-ce que cela signifie ?
y faire une réserve de cette partie
n ne pas faire de cachette de cette partie
q sortir, ne pas faire la cachette et ne pas voir les prochains
/ recherche d’une pièce par regex
? help, montre la signification de toutes les commandes
s décomposer ce code en petites parties

Stockage des fichiers non suivis : git stash -u

La cachette ne fonctionne pas dans deux types de situations :

  • les fichiers ignorés, c’est-à-dire ceux qui ont été ajoutés au fichier .gitignore
  • un nouveau fichier, car ce fichier n’a pas encore été traqué. C’est-à-dire que nous n’avons pas encore lancé git add dessus. Après git add, il devient trakked.

Dans ces cas, si vous souhaitez stocker ces fichiers, vous devez utiliser la fonction -uqui ajoutera l’option sans trace.

Stockage des fichiers non suivis

Visualiser les différences entre les stashs : git stash show

Vous pouvez voir un résumé de ce qui a été modifié dans votre dernière cachette en utilisant la commande git stash show.

Résumé des changements dans la réserve

Ou bien, vous pouvez également voir les modifications complètes et plus détaillées de votre dernière cachette en passant la commande -p.

Option -p pour visualiser les changements détaillés

Création d’une branche stash : git stash branch

Vous pouvez créer une nouvelle branche à partir de l’une de vos réserves, pour ce faire, il suffit d’utiliser la structure :

git stash branch <nome-do-branch> <referência-do-stash>

Création d'une nouvelle branche de git stash

Effacer ou supprimer votre réserve : git stash drop et git stash clear

Lorsque vous n’avez plus besoin d’utiliser une réserve spécifique, vous pouvez utiliser git stash drop en passant la référence de la réserve que vous voulez supprimer.

Nettoyage et suppression de la cachette

Vous pouvez également supprimer toutes vos réserves en utilisant la commande git stash clear.

Plus nous pénétrons dans l’univers de Git, plus nous pouvons constater à quel point il est puissant et complexe. Il existe de nombreuses commandes qui peuvent accroître notre productivité et faciliter certains problèmes auxquels nous sommes confrontés au quotidien. La cachette git est un exemple de telles commandes.

Avec lui, nous pouvons naviguer de manière encore plus simple entre les branches et faire de plus en plus de tests sans perdre tout notre code ou polluer notre historique de commit. Il est donc très important que vous continuiez à étudier d’autres commandes Git !
Ne vous arrêtez pas là ! Apprenez-en plus sur Git en découvrant la commande Git Clone !