Wie kann ich alle meine Git- Stashes gleichzeitig löschen ?
Konkret meine ich mit der Eingabe eines Befehls.
Wie kann ich alle meine Git- Stashes gleichzeitig löschen ?
Konkret meine ich mit der Eingabe eines Befehls.
Antworten:
Der folgende Befehl löscht alle Ihre Verstecke:
git stash clear
Aus der Git-Dokumentation :
clear
Entfernen Sie alle versteckten Zustände.
WICHTIGE WARNUNG: Diese Zustände werden dann beschnitten und können möglicherweise nicht wiederhergestellt werden (...).
stash drop
(“ einen einzigen verstaute Zustand aus dem Versteck Liste entfernen Wenn kein <Stash> angegeben wird, entfernt es die spätestens ein (...).. ‚) nicht die Frage beantworten (‘ Wie kann ich lösche alle von mein Git versteckt sich sofort? ")?
git stash clear
zu bestätigen, ob alle gelöscht wurden, verwenden Sie -git stash list
git
ist praktisch nicht zu finden! git-scm.com/docs/git-stash
git help <command>
ist der beste Weg, um Dokumentation zu bekommen (und es ist eigentlich ziemlich gut). git help stash
Zeigen Sie in diesem Fall deutlich, dass git stash clear
dies die Tat ist (dies hat mich nicht davon abgehalten, zuerst zu SO zu kommen und die Antwort zu bewerten ... aber das sagt Ihnen mehr über mich als git
: D)
Es gibt zwei Möglichkeiten, einen Stash zu löschen:
$ git stash drop <stash_id>
.$ git stash clear
.Verwenden Sie beide mit Vorsicht. Es ist möglicherweise schwierig, die einmal gelöschten Stashes zurückzusetzen.
Hier ist der Referenzartikel .
Mit diesem Befehl können Sie alle versteckten Änderungen anzeigen.
git stash list
Mit dem folgenden Befehl können Sie alle Ihre versteckten Änderungen löschen
git stash clear
Wenn Sie nun eine der versteckten Änderungen aus dem Stash-Bereich löschen möchten
git stash drop stash@{index} // here index will be shown after getting stash list.
Hinweis:
git stash list
Ermöglicht das Abrufen des Index aus dem Stash-Bereich von Git.
git stash drop 'stash@{index}'
Apostrophe vorhanden sind.
Ich wollte ein paar aktuelle Verstecke behalten, aber alles andere löschen.
Da alle Verstecke neu nummeriert werden, wenn Sie einen ablegen, ist dies tatsächlich einfach zu tun. So löschen Sie alle Stashes, die älter als stash @ {19} sind:
while git stash drop 'stash@{20}'; do true; done
git stash pop 3
stattdessen auf den 3. Stash aus der Stash-Liste verweisen können ? Ich wollte wissen, ob wir die while
Schleife verwenden und Stashes mithilfe von Indexwerten löschen können.
Ich hatte eine andere Anforderung, da nur wenige Vorräte entfernt werden müssen. Der folgende Code wäre in diesem Fall hilfreich.
#!/bin/sh
for i in `seq 5 8`
do
git stash drop stash@{$i}
done
/ * löscht von 5 bis 8 Index * /
for iterator in `seq 5 8`; git stash drop stash@{$iterator}; done
for i in `seq 4`; do git stash drop 'stash@{5}'; done
do
Wenn Sie den neuesten Stash oder einen bestimmten Index entfernen möchten -
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
wenn Sie alle Vorräte auf einmal entfernen möchten -
> git stash clear
>
> git stash list
>
Warnung : Sobald Sie fertig sind, können Sie Ihren Vorrat nicht mehr zurücksetzen
Verwenden Sie: Löschen Sie alle Stashes, die älter als 40 Tage sind:
git reflog expire --expire-unreachable=40.days refs/stash
Hinzufügen, um --dry-run
zu sehen, welche Stashes gelöscht werden.
Eine Erklärung und weitere Einzelheiten finden Sie unter https://stackoverflow.com/a/44829516/946850 .