Hoe kan ik al mijn Git-stashes in één keer verwijderen?

Hoe kan ik al mijn Gitstashes in één keer verwijderen?

Specifiek bedoel ik, met het intypen van één commando.


Antwoord 1, autoriteit 100%

Het volgende commando verwijdert al je stashes:

git stash clear

Van de git-documentatie:

clear

Verwijder alle opgeslagen statussen.

BELANGRIJKE WAARSCHUWING:Die toestanden zullen dan worden gesnoeid en mogelijk niet meer te herstellen (…).


Antwoord 2, autoriteit 3%

Er zijn twee manieren om een stash te verwijderen:

  1. Als je een bepaalde stash niet langer nodig hebt, kun je deze verwijderen met: $ git stash drop <stash_id>.
  2. Je kunt al je stashes uit de repo verwijderen met: $ git stash clear.

Gebruik beide met de nodige voorzichtigheid, het is misschien moeilijk om de eenmaal verwijderde stashes terug te zetten.

Hier is het referentieartikel.


Antwoord 3, autoriteit 2%

met dit commando kun je alle opgeslagen wijzigingen bekijken.

git stash list

Hier is de volgende opdracht om al je opgeslagen wijzigingen te wissen

git stash clear

Als u nu een van de opgeslagen wijzigingen uit het stash-gebied wilt verwijderen

git stash drop stash@{index}   // here index will be shown after getting stash list.

Opmerking: git stash liststelt je in staat om de index op te halen uit het stash-gebied van git.


Antwoord 4

Ik wilde een paar recente stashes behouden, maar al het andere verwijderen.

Omdat alle stashes opnieuw worden genummerd wanneer je er een laat vallen, is dit eigenlijk gemakkelijk te doen met while. Om alle stashes te verwijderen die ouder zijn dan stash@{19}:

while git stash drop 'stash@{20}'; do true; done

Antwoord 5

Om alle stashes ouder dan 40 dagen te verwijderen, gebruik je:

git reflog expire --expire-unreachable=40.days refs/stash

Voeg --dry-runtoe om te zien welke stashes zijn verwijderd.

Zie https://stackoverflow.com/a/44829516/946850voor uitleg en veel meer details.


Antwoord 6

als je de laatste stash of een bepaalde index wilt verwijderen

git stash drop type_your_index

> git stash list
  stash@{0}: abc
  stash@{1}: xyz
  stash@{1}: pqr
> git stash drop 0
  Dropped refs/stash@{0}
> git stash list
  stash@{0}: xyz
  stash@{1}: pqr

als je alle stash in één keer wilt verwijderen

> git stash clear
>
> git stash list
>

Waarschuwing: als je klaar bent, kun je je voorraad niet meer terugdraaien


Antwoord 7

Ik had nog een vereiste, zoals dat er maar een paar stash hoeven te worden verwijderd, onderstaande code zou in dat geval nuttig zijn.

#!/bin/sh
for i in `seq 5 8`
do
   git stash drop stash@{$i}
done

/* verwijdert 5 tot 8 index*/


Antwoord 8

Wis alle stash uit de lijst:
git stash clear

Wis een bepaalde index uit de lijst:
git stash drop-index


Antwoord 9

Als je alleen de laatste voorraad wilt wissen of
zelfs jij hebt toen een stash gemaakt met git stash create
je moet gewoon gebruiken

git stash drop

maar als je alle git-stashes van de huidige git-repository wilt wissen
dan kun je

git stash clear

WAARSCHUWING: die toestanden zullen dan worden gesnoeid (knock-off) en misschien niet meer te herstellen

Other episodes