Основы git stash
Тема дорожной карты · Изучи Git
git stash — это мощный инструмент, который позволяет временно отложить незакоммиченные изменения в вашем рабочем каталоге, чтобы вы могли переключиться на другой контекст и вернуться к ним позже. Это особенно полезно, когда вам нужно быстро переключиться на другую задачу или исправить критический баг, не теряя текущий прогресс.
Как это работает
git stash временно сохраняет все изменения в рабочем каталоге и индексе, позволяя вам работать с чистым рабочим каталогом. Команда git stash (или git stash push -m "msg") сохраняет текущий состояние рабочего каталога и индекса, создавая новую запись в стеке стэша. Вы можете просмотреть список всех записей стэша с помощью команды git stash list. Если вы хотите применить последнюю запись стэша и удалить её из стека, используйте команду git stash pop. Если же вы хотите оставить запись стэша в стеке, чтобы использовать её повторно, используйте команду git stash apply. Команда git stash branch <name> позволяет создать новую ветку из последней записи стэша. Для включения неотслеживаемых файлов в стэш используйте флаг -u, а для включения игнорируемых файлов — флаг -a. Стек стэшей организован так, что stash@{0} всегда представляет собой последнюю запись.
Когда применять
Git stash особенно полезен, когда вы работаете над несколькими задачами одновременно и вам нужно временно отложить текущий прогресс. Например, если вы работаете над новой функцией и внезапно обнаруживаете критический баг, который требует немедленного исправления. В этом случае вы можете использовать git stash для временного сохранения текущего состояния и переключиться на ветку, где находится баг. После исправления бага вы можете вернуться к своей работе, используя git stash pop или git stash apply.
Типичные ошибки
Одной из самых распространенных ошибок при использовании git stash является забывание о существовании записей стэша. Например, если вы создали запись стэша несколько дней назад и забыли об этом, вам может потребоваться просмотреть список всех записей стэша, чтобы вспомнить, что было внесено в запись. Другой распространенной ошибкой является использование команды git stash drop вместо git stash apply, что может привести к потере изменений, если вы не используете git reflog для восстановления изменений. Также важно избегать использования git stash между большими прыжками веток, так как это может привести к сложным конфликтам при попытке применить запись стэша.
Связанные понятия
Полезные ресурсы
Проверить знания (1)
Загрузка вопросов…