Как я могу удалить все мои Git stashes за один раз?

Как я могу удалить все мои Git заставки сразу?

В частности, я имею в виду, набрав одну команду.

Ответы

Ответ 1

Следующая команда удаляет все ваши stashи:

git stash clear

Из документации git:

clear

Удалить все спрятанные состояния.

ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ: Эти состояния будут подвергаться обрезке, и их может быть невозможно восстановить (...).

Ответ 2

Есть два способа удалить stash:

  1. Если вам больше не нужен конкретный stash, вы можете удалить его с помощью: $ git stash drop <stash_id>.
  2. Вы можете удалить все свои stashи из репозитория с помощью: $ git stash clear.

Используйте оба из них с осторожностью, может быть трудно восстановить когда-то удаленные stashи.

Вот справочная статья.

Ответ 3

эта команда позволяет вам просмотреть все спрятанные изменения.

git stash list

Вот следующая команда, чтобы очистить все ваши изменения.

git stash clear

Теперь, если вы хотите удалить одно из сохраненных изменений из области хранения

git stash drop [email protected]{index}   // here index will be shown after getting stash list.

Примечание: git stash list позволяет вам получить индекс из области хранения git.

Ответ 4

В дополнение к тому, на что был отмечен принятый ответ - git stash clear, чтобы подтвердить, все ли очищены, используйте - git stash list

Ответ 5

У меня было другое требование, например, нужно удалить только несколько тайников, в этом случае будет полезен приведенный ниже код.

#!/bin/sh
for i in 'seq 5 8'
do
   git stash drop [email protected]{$i}
done

/* удалит от 5 до 8 индексов */

Ответ 6

Используйте эту команду для очистки stash git stash clear для получения дополнительной информации о stash git stash --help или проверьте эту ссылку

Ответ 7

Я хотел сохранить несколько последних stashов, но удалить все остальное.

Поскольку все stashи перенумеровываются, когда вы их бросаете, это легко сделать с помощью while. Чтобы удалить все stashи старше, чем stash @{19}:

while git stash drop '[email protected]{20}'; do true; done