2016-07-29 2 views
1

Comment puis-je supprimer certaines de mes caches Git à la fois? J'ai essayé dans sourceTree, mais il semble que je ne peux supprimer qu'une seule cachette à la fois. Puis-je en supprimer plusieurs en même temps? Y at-il une commande pour le faire en git bash? Je ne veux pas tous les supprimer.Comment supprimer des cachettes en lot?

Répondre

3

Avec Bash Brace Expansion, nous pouvons créer une longue liste de stashes rapidement, par exemple, [email protected]{8} [email protected]{7} [email protected]{6} [email protected]{5} [email protected]{3} [email protected]{1}

peut être fait avec echo [email protected]\{{8..5}\} [email protected]\{{3,1}\}

Mettre sur pied avec xargs, ou une boucle for, nous obtenons:

echo [email protected]\{{8..5}\} [email protected]\{{3,1}\} | xargs -rn1 git stash drop 

Remarque: la liste doit être annulée.

1

Cela devrait faire:

echo -e '[email protected]{6}\[email protected]{3}\nstash' | xargs -rl git stash drop 

Mais assurez-vous de « compte à rebours » que les commandes sont exécutées l'une après l'autre et si vous utilisez la référence numérique comme dans mon exemple après chaque commande les indizes déplaceraient alors commencez par le plus vieux. Ou bien sûr, utilisez son nom que vous avez donné lors de l'enregistrement.