Что такое git stash
?
git stash
— это команда в системе управления версиями Git, которая позволяет временно сохранить текущие изменения в
рабочем каталоге, не добавляя их в коммит. Это полезно, когда вам нужно переключиться на другую ветку или выполнить
другие действия, не желая потерять незавершённую работу.
Как работает git stash
Когда вы выполняете команду git stash
, Git берет все изменения, которые не были закоммичены (например, изменения в
отслеживаемых файлах и новые файлы), и сохраняет их в области, называемой "хранилищем" (stash). Эти изменения можно
потом восстановить в любое время.
Основные команды
git stash
Эта команда сохраняет все изменения и восстанавливает состояние рабочего каталога до последнего коммита.
git stash list
Выводит список всех сохранённых изменений, например:
stash@{0}: WIP on master: 6e5f692 начальные изменения
git stash pop
Закоманду
pop
извлекает последние сохранённые изменения из хранилища и удаляет их оттуда.git stash apply
Эта команда применяет изменения, но сохраняет их в хранилище для дальнейшего использования.
git stash drop stash@{0}
Эта команда удаляет конкретный элемент из хранилища.
git stash clear
Удаляет все сохранённые изменения из хранилища.
Пример использования
Предположим, вы работаете над новой функциональностью и внесли изменения в несколько файлов, но вам нужно переключиться на ветку для исправления ошибки. Чтобы временно сохранить свою работу, выполните:
git stash
Теперь вы можете уверенно переключиться на другую ветку:
git checkout hotfix-branch
После того как вы завершите работу с ошибкой и вернётесь на свою ветку:
git checkout feature-branch
git stash pop
Ваши изменения будут восстановлены, и вы сможете продолжать работу.
Заключение
Команда git stash
— это мощный инструмент, который помогает управлять незавершёнными изменениями в Git, позволяя вам
легко переключаться между задачами, не теряя прогресс. Это базовая, но важная функциональность, которая особенно полезна
в повседневной работе с Git.