Stash: хранение и управление вещами на сайте
Команда stash в системе контроля версий Git позволяет временно сохранить изменения, которые не готовы для коммита, но вы не хотите потерять эти изменения. Функциональность stash особенно полезна, когда вы хотите переключиться на другую ветку или получить последнюю версию кода из репозитория, но при этом хотите сохранить свои текущие изменения.
Когда вы запускаете команду git stash, Git сохраняет изменения, которые вы внесли в рабочий каталог в стеке stash. Удаленные или измененные файлы сохраняются, и ваш рабочий каталог возвращается в состояние последнего коммита. Stash-объекты могут быть применены к любой ветке в вашем репозитории, включая ту, с которой вы начали свою работу.
Основная идея stash состоит в том, чтобы временно хранить изменения в отдельном месте, чтобы вы могли переключиться на другую ветку или получить последнюю версию кода из репозитория. Позднее вы можете применить stash к текущей ветке, чтобы добавить эти изменения обратно.
Вот пример, как использовать команду stash:
- Внесите изменения в свои файлы в рабочем каталоге.
- Запустите команду
git stashбез аргументов:git stash. - Git сохранит все изменения в стек
stashи вернет ваш рабочий каталог к состоянию последнего коммита. - Вы можете переключиться на другую ветку с помощью команды
git checkout. - После завершения работы на другой ветке вы можете вернуться обратно на свою и запустить команду
git stash applyилиgit stash popдля возвращения сохраненных изменений.- Команда
git stash applyприменяет последнийstash, оставляя его в стеке, чтобы вы могли применить его снова позже. - Команда
git stash popприменяет последнийstashи удаляет его из стекаstash.
- Команда
Вот пример кода, демонстрирующий использование stash:
// Внесение изменений в файл index.html
// Изменения еще не готовы для коммита
git add index.html
git stash
// Переключение на другую ветку
git checkout другая_ветка
// Завершение работы на другой ветке и возвращение к предыдущей
git stash apply
// Продолжение работы с сохраненными изменениями
Таким образом, команда stash является мощным инструментом в Git, позволяющим временно сохранять ваши изменения и переключаться между ветками без потери выполненной работы. Она позволяет вам более гибко управлять вашими изменениями и упрощает взаимодействие с репозиторием.