Le stockage vous permet de conserver une copie des modifications que vous avez apportées à un référentiel, sans avoir à créer de validation.

C'est utile si vous changez de contexte, surtout si vous faites des allers-retours entre différents bogues ou tâches sur le même projet.

Fonctionnement de base de git stash

Tu peux utilisez git stash pour faciliter votre flux de travail lorsqu'il s'agit de lignes de travail parallèles. Imaginez que vous travaillez sur une tâche de longue durée, avec des modifications dans votre copie de travail locale. Ensuite, quelque chose d'urgent surgit sur lequel vous devez travailler tout de suite.

Le flux de travail standard pour stocker les modifications est le suivant :

  1. Apporter des modifications locales
  2. Cacher les modifications locales
  3. Réappliquer les modifications stockées

Lorsque vous stockez des modifications à l'aide de git cachette [pousser] commande, git se réinitialise sur HEAD. Vous pouvez ensuite continuer à travailler sur tout ce dont vous avez besoin, en vous engageant dans le référentiel comme si vous n'aviez jamais apporté les modifications d'origine.

instagram viewer

Une fois que vous avez terminé avec tout ce qui vous a dérouté en premier lieu, utilisez git cachette pop pour appliquer vos modifications et les supprimer de la réserve. Vous pouvez également appliquer vos modifications et les conserver dans la réserve avec git cachette appliquer. Cela peut être utile si vous souhaitez appliquer rapidement les modifications à plusieurs branches.

Travailler avec plus d'une réserve

Si vous êtes vraiment occupé, vous pourriez vous retrouver à travailler sur plusieurs tâches à la fois et vous devrez peut-être toutes les ranger. Ne vous inquiétez pas, git stash est conçu pour cela.

Chaque fois que vous utilisez git stash push, vous enregistrez un autre ensemble de modifications. Utilisation liste de cachette git pour montrer tout ce que vous avez caché. Vous verrez quelque chose comme ceci :

stash@{0}: WIP sur main: 2fba62e premier commit
stash@{1}: WIP sur main: 2fba62e premier commit

Ces messages ne sont pas très utiles, mais vous pouvez vous laisser des indices en ajoutant un message personnalisé lorsque vous planquez :

git stash push -m "troisième"

Lorsque vous vous inscrivez maintenant, vous verrez votre message personnalisé :

stash@{0}: sur le principal: troisième
stash@{1}: WIP sur main: 2fba62e premier commit

Affichage des différences entre les diffs

Pour savoir ce qui a changé dans une réserve, utilisez spectacle de cachette git. Sans autre argument, il affichera un résumé des différences pour la dernière cachette, ressemblant à ceci :

spectacle de cachette $ git
LISEZMOI.md | 3 +++
1 fichier modifié, 3 insertions (+)

Vous pouvez également transmettre un identifiant de cachette pour interroger une entrée spécifique :

git cachette montre cachette@{0}

Créer une branche à partir d'une réserve

Vous pourriez décider que les changements dans une réserve sont si importants qu'ils méritent d'être dans une branche à part entière. Si c'est le cas, créer une nouvelle branche de la réserve à l'aide du bifurquer commande:

branche de cachette git

Encore une fois, cela fonctionnera par défaut sur la réserve la plus récente, mais vous pouvez fournir un identifiant de réserve si nécessaire. Git crée votre nouvelle branche à partir du même point du référentiel que le stash. Il applique ensuite les modifications de la réserve à votre copie de travail.

Nettoyer la cachette

Il n'y a pas de commande "git unstash". Si vous souhaitez supprimer une entrée de cachette, utilisez drop :

git cachette goutte

Encore une fois, c'est le dernier par défaut, mais vous pouvez fournir un identifiant de cachette à la place. Si vous décidez de vous débarrasser de tout ce que vous avez stocké, utilisez cette commande :

git cachette claire

Utilisez git stash pour les commits légers temporaires

Les caches Git sont loin d'être aussi puissantes que les dépôts complets. Mais ils offrent toujours de nombreuses fonctionnalités utiles à part entière. Utilisez des cachettes si vous avez souvent besoin de changer de branche au milieu du travail.

Stashing n'est qu'une petite partie de git, qui est un programme qui a énormément à offrir.