Comment déplacer des modifications d'un stockage Git à un autre

GitBeginner
Pratiquer maintenant

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 :

  1. Stocker vos modifications : Exécutez la commande suivante pour enregistrer vos modifications locales dans le stockage :
    git stash
  2. Passer à une autre branche : Maintenant, vous pouvez passer à une autre branche ou extraire les dernières modifications du référentiel distant.
  3. 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 :
    git stash apply
    Cela appliquera le stockage le plus récent à votre branche actuelle.

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 :

  1. Stocker vos modifications :
    git stash
  2. Passer à la branche cible :
    git checkout target-branch
  3. 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.

  1. Stocker vos modifications :
    git stash
  2. Appliquer les modifications stockées à la première branche :
    git checkout branch1
    git stash apply
  3. Appliquer les modifications stockées à la deuxième branche :
    git checkout branch2
    git stash apply
  4. 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 :

  1. Stocker vos modifications :
    git stash
  2. Passer à la branche cible :
    git checkout target-branch
  3. Appliquer les modifications stockées :
    git stash apply
  4. Résoudre tout conflit qui apparaît, puis ajoutez les fichiers résolus :
    git add resolved-file1 resolved-file2
  5. 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.