git stash — это мощный инструмент, который позволяет временно сохранить ваши изменения в репозитории, чтобы переключиться на другую ветку или выполнить какую-то другую задачу. Познакомимся с основными командами git stash и узнаем, как ими пользоваться.
**Сохранение изменений с помощью git stash**
Чтобы сохранить все свои незакоммиченные изменения, необходимо выполнить команду:
«`bash
git stash save «Название сохранения»
«`
Git сохранит ваши изменения в стеке stash и вернет вам наиболее последний коммит. «Название сохранения» является необязательным параметром и может быть любой строкой, описывающей сохранение. Если вы не указываете название, Git просто автоматически генерирует его.
**Просмотр списка сохранений**
Вы можете посмотреть список всех ваших сохранений, выполнив команду:
«`bash
git stash list
«`
Git выведет список всех сохранений, и каждое сохранение будет иметь свой уникальный идентификатор и описание. Это позволяет вам легко определить, какую сохраненную версию вы хотите применить позже.
**Применение сохранений**
Если вы хотите применить сохраненные изменения в свой текущий рабочий каталог, выполните команду:
«`bash
git stash apply
«`
где « — это уникальный идентификатор сохранения. Если вы не указываете идентификатор, Git применит последнее сохранение. Применение сохранений не удаляет их из стека stash. Вы должны будете удалить их вручную.
**Удаление сохранений**
Чтобы удалить сохранение из стека stash, выполните команду:
«`bash
git stash drop
«`
Если вы не указываете идентификатор, Git удалит последнее сохранение из стека.
**Стекирование сохранений**
Вы можете стекировать несколько сохранений и применить их позже все сразу. Для этого выполните команду:
«`bash
git stash branch
«`
Git создаст новую ветку, основанную на последнем сохранении, и применит все остальные сохранения поверх нее. Это очень полезно, когда вы хотите применить группу сохранений в отдельной ветке.
**Очищение стека stash**
Если вы хотите удалить все сохранения из стека stash, выполните команду:
«`bash
git stash clear
«`
Все сохранения будут безвозвратно удалены. Обратите внимание, что эта команда не запрашивает подтверждения, поэтому будьте осторожны при ее использовании.
**Заключение**
git stash — отличный инструмент для временного сохранения и восстановления изменений в репозитории. Вы можете сохранить свои незакоммиченные изменения в стеке stash, применить их позже или удалить по вашему усмотрению. При использовании git stash помните, что ваши файлы находятся в состоянии между ветками или коммитами, поэтому будьте осторожны и сохраняйте свои изменения, чтобы не потерять их.