Introduction
Git stash est une fonction puissante qui vous permet de sauvegarder temporairement vos modifications locales sans les commettre. Dans ce tutoriel, vous allez apprendre à déplacer vos modifications stockées d'un empilage à un autre, vous permettant d'organiser et de gérer mieux votre flux de travail Git.
Comprendre Git Stash
Qu'est-ce que Git Stash?
Git Stash est une fonction puissante dans Git qui vous permet de sauvegarder temporairement vos modifications locales sans les commettre. Cela est particulièrement utile lorsque vous devez passer à une autre branche ou extraire les dernières modifications d'un référentiel distant, mais que vous ne voulez pas perdre le travail que vous avez effectué sur votre branche actuelle.
Quand utiliser Git Stash?
Vous pouvez utiliser Git Stash dans les scénarios suivants :
- Changement de branche : Lorsque vous devez passer à une autre branche, mais que vous avez des modifications locales que vous ne voulez pas encore commettre.
- Extraction de mises à jour : Lorsque vous devez extraire les dernières modifications d'un référentiel distant, mais que vous avez des modifications locales que vous ne voulez pas encore commettre.
- Expérimentation de code : Lorsque vous voulez tester une nouvelle fonctionnalité ou expérimenter avec du code, mais que vous ne voulez pas commettre vos modifications avant d'être satisfait du résultat.
Comment utiliser Git Stash?
Pour utiliser Git Stash, vous pouvez suivre ces étapes :
- Stocker vos modifications : Exécutez la commande suivante pour enregistrer vos modifications locales dans le stockage :
git stash - Passer à une autre branche : Maintenant, vous pouvez passer à une autre branche ou extraire les dernières modifications du référentiel distant.
- Récupérer vos modifications stockées : Lorsque vous êtes prêt à revenir à votre travail précédent, vous pouvez appliquer les modifications stockées en utilisant la commande suivante :
Cela appliquera le stockage le plus récent à votre branche actuelle.git stash apply
Gestion des stockages
Git Stash fournit plusieurs commandes pour vous aider à gérer vos modifications stockées :
git stash list: Liste tous les stockages que vous avez créés.git stash show: Affiche les modifications effectuées dans un stockage spécifique.git stash drop: Supprime un stockage spécifique de la liste.git stash clear: Supprime tous les stockages de la liste.
En comprenant les bases de Git Stash, vous pouvez gérer efficacement vos modifications locales et passer entre différentes tâches ou branches sans perdre votre travail.
Transférer les modifications stockées
Déplacer les modifications stockées vers une autre branche
Parfois, vous souhaiterez peut-être déplacer vos modifications stockées vers une autre branche. Cela peut être utile lorsque vous avez stocké certaines modifications, mais que vous réalisez que ces modifications devraient être appliquées à une autre branche. Voici comment vous pouvez le faire :
- Stocker vos modifications :
git stash - Passer à la branche cible :
git checkout target-branch - Appliquer les modifications stockées à la branche cible :
git stash apply
Maintenant, vos modifications stockées ont été transférées à la branche cible.
Appliquer les modifications stockées à plusieurs branches
Vous pouvez également appliquer vos modifications stockées à plusieurs branches. Cela peut être utile lorsque vous avez un ensemble de modifications que vous souhaitez appliquer à plusieurs branches.
- Stocker vos modifications :
git stash - Appliquer les modifications stockées à la première branche :
git checkout branch1 git stash apply - Appliquer les modifications stockées à la deuxième branche :
git checkout branch2 git stash apply - Répétez l'étape 3 pour toutes les autres branches auxquelles vous souhaitez appliquer les modifications.
Transférer les modifications stockées avec des conflits
Si des conflits apparaissent lors de l'application des modifications stockées à une autre branche, vous pouvez les résoudre manuellement. Voici comment :
- Stocker vos modifications :
git stash - Passer à la branche cible :
git checkout target-branch - Appliquer les modifications stockées :
git stash apply - Résoudre tout conflit qui apparaît, puis ajoutez les fichiers résolus :
git add resolved-file1 resolved-file2 - Continuer l'application du stockage :
git stash apply --continue
En comprenant comment transférer les modifications stockées entre les branches, vous pouvez gérer efficacement votre flux de travail et vous assurer que vos modifications sont appliquées aux emplacements corrects.
Gestion pratique des stockages
Nommage et référencement des stockages
Lorsque vous stockez vos modifications, Git attribue automatiquement un identifiant unique à chaque stockage. Cependant, vous pouvez également donner des noms plus descriptifs à vos stockages pour vous aider à les suivre. Voici comment :
git stash save "Mes modifications de fonctionnalité"
Vous pouvez ensuite vous référer à vos stockages par leur index ou par le nom personnalisé que vous avez attribué :
git stash apply stash@{2}
git stash apply "Mes modifications de fonctionnalité"
Création de branche à partir d'un stockage
Git Stash vous permet également de créer une nouvelle branche à partir d'une modification stockée. Cela peut être utile lorsque vous voulez travailler sur un ensemble spécifique de modifications de manière isolée. Voici comment :
git stash branch nouvelle-fonctionnalité
Cette commande créera une nouvelle branche nommée nouvelle-fonctionnalité et appliquera le stockage le plus récent à cette branche.
Nettoyage des stockages
Au fur et à mesure que vous travaillez, votre liste de stockages peut rapidement devenir encombrée. Pour maintenir votre stockage organisé, vous pouvez utiliser les commandes suivantes :
git stash list ## Liste tous les stockages
git stash drop stash@{0} ## Supprime le stockage le plus récent
git stash clear ## Supprime tous les stockages
De plus, vous pouvez configurer Git pour supprimer automatiquement les anciens stockages :
git config --global stash.autoStash true
git config --global stash.maxStashSize 10
Ces paramètres stockeront automatiquement vos modifications avant un merge ou un rebase, et maintiendront un maximum de 10 stockages dans la liste.
En maîtrisant ces techniques de gestion pratique des stockages, vous pouvez maintenir votre flux de travail Git organisé et efficace, vous assurant ainsi que vos modifications sont facilement accessibles et gérées.
Sommaire
À la fin de ce guide, vous aurez une compréhension solide de Git stash et la capacité de transférer efficacement vos modifications entre différents stockages. Ces connaissances vous aideront à maintenir un référentiel Git propre et organisé, facilitant ainsi la collaboration, la revue et la gestion du contrôle de versions de votre projet.



