--index:
git stash pop --index
git stash show -p stash@{номер_stash}
Чтобы отменить изменения, сохраненные в stash, существует несколько способов, в зависимости от того, что именно требуется:
1. Применить изменения из stash и удалить их из stash-листа (обычно это нужно):
Используйте команду git stash pop. По умолчанию она применит последний добавленный stash и удалит его из списка stash-ей.
Пример: git stash pop
Если нужно применить конкретный stash, укажите его идентификатор:
git stash pop stash@{n}, где n - номер stash-а (например, git stash pop stash@{0} применит самый первый stash).
Важно: git stash pop может вызвать конфликты, если текущее состояние рабочей директории не соответствует состоянию на момент создания stash-а. В этом случае потребуется разрешить конфликты как обычно при слиянии.
2. Применить изменения из stash, но оставить их в stash-листе:
Используйте команду git stash apply. Она применит указанный stash, но не удалит его.
Пример: git stash apply (применяет последний stash)
git stash apply stash@{n} (применяет stash с указанным номером).
После применения stash-а с помощью git stash apply, изменения останутся в stash-листе. Этот вариант полезен, когда нужно применить изменения из одного stash-а в несколько веток или для сравнения.
3. Удалить stash без применения изменений:
Если нужно просто удалить stash, который больше не нужен, используйте команду git stash drop.
Пример: git stash drop (удаляет последний stash)
git stash drop stash@{n} (удаляет stash с указанным номером).
4. Очистить весь stash-лист:
Чтобы удалить все stash-и разом, используйте команду git stash clear.
Рекомендации:
git stash show -p stash@{n}. Это покажет diff изменений, хранящихся в stash-е.git stash list выводит список всех stash-ей с их номерами.git stash pop, необходимо проверить рабочую директорию на наличие конфликтов. Если конфликты есть, то разрешить их и сделать коммит.