Appliquer des caches dans Git

John Wachira 23 aout 2022
Appliquer des caches dans Git

Cet article couvrira les différentes manières d’appliquer des stashs dans Git. Il montrera les étapes pour appliquer une réserve Git spécifique.

Appliquer des caches dans Git

Nous utilisons la git stash list pour afficher notre réserve Git si vous ne le savez pas.

pc@JOHN MINGW64 ~/Git (main)
$ git stash list
stash@{0}: WIP on main: 78129a6 Revert "$git status"
stash@{1}: WIP on main: 195e5c3 $git status

Vous pouvez voir que nous avons deux réserves dans notre branche Git.

L’exécution d’un git stash apply pointera vers le haut de votre pile. Comme indiqué ci-dessous, vous devez ajouter un argument si vous souhaitez appliquer une réserve spécifique.

$ git stash apply stash@{stash_index}

Dans notre cas, nous voulons appliquer l’index 1 stash. Nous exécutons la commande ci-dessous.

$ git stash apply stash@{1}
Removing text.txt.txt
CONFLICT (modify/delete): Tutorial.txt deleted in Updated upstream and modified in Stashed changes. Version Stashed changes of Tutorial.txt left in tree.
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        deleted:    text.txt.txt
        modified:   text.txt.txt.bak
Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add/rm <file>..." as appropriate to mark resolution)
        deleted by us:   Tutorial.txt
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .bash_history.bak
        Delftscopetech/
        New folder/
        file.patch

Cependant, lorsqu’elle est appliquée, cette commande ne supprime pas la réserve de votre liste. Vous devez exécuter une commande git stash pop.

Il existe une disparité entre git stash apply et git stash pop, ce dernier applique les modifications et supprime la réserve de votre liste.

Prenons un exemple.

pc@JOHN MINGW64 ~/Git/Delftscopetech (main)
$ git stash pop stash@{0}
Removing README.md
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        deleted:    README.md
no changes added to commit (use "git add" and/or "git commit -a")
Dropped stash@{0} (1531151482186b97f47e9b852ac29ddd194bd099)

Nous pouvons voir Git appliquer notre stock et le supprimer de notre sortie ci-dessus.

Une alternative est d’exécuter le git stash drop stash@{Index}. Pour effacer toutes les caches, exécutez la commande git stash clear.

Auteur: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Article connexe - Git Stash