foundation
Stash
Временно сохраняйте незакоммиченную работу при смене контекста, затем осознанно применяйте или удаляйте.
Stash сохраняет незакоммиченные изменения (и опционально untracked) вне текущей ветки для смены контекста. Записи в стеке — не система учёта работы.
git stash push -m "wip login form"
git stash push -u # включая untracked
git stash list
git stash pop # применить и снять верхнюю
git stash apply stash@{2}
Для коротких прерываний: срочный hotfix, review чужой ветки, быстрый эксперимент. Для работы на дни и с review — WIP-ветка.
На интервью: tracked vs untracked, apply vs pop, именование stash, забытая «спрятанная» работа.
Типовые ошибки: большой стек stash как невидимый долг; stash перед pull и потеря контекста; stash вместо атомарных коммитов.
Компромисс — удобство смены контекста против видимости и reviewability веток.
Чеклист:
- Stash только для коротких прерываний.
- Именуйте stash при нескольких записях.
- Сознательно чистите устаревшие stash.
- WIP-ветки для значимой незавершённой работы.