Що таке git stash і коли його використовувати?
git stash тимчасово відкладає (stashes) зміни які ви зробили у робочій копії, щоб ви могли попрацювати над чимось іншим, а потім повернутися і застосувати їх пізніше.
Поширені випадки використання
1. Переключення гілок посеред роботи
```bash
git stash git checkout main
git checkout feature git stash pop # Відновити вашу роботу ```
2. Перед pull оновленнями
```bash
git stash git pull origin main git stash pop ```
Базові команди
```bash
git stash
git stash save "WIP: реалізація функції"
git stash list
git stash pop
git stash apply
git stash apply stash@{1}
git stash drop stash@{0}
git stash clear ```
Опції Stash
```bash
git stash -u
git stash -a
git stash --staged
git stash branch new-feature stash@{0} ```
Реальний сценарій
```bash
$ git status Зміни не staged: змінено: src/feature.js змінено: src/component.js
$ git stash save "WIP: автентифікація користувача"
$ git checkout main $ git checkout -b hotfix/critical-bug
$ git commit -m "Виправити критичний баг" $ git push
$ git checkout feature $ git stash pop
```
Питання на співбесіді
П: Різниця між stash pop та apply?
В: pop застосовує stash і видаляє його зі списку. apply залишає stash в списку для повторного використання.
П: Чи можна заховати untracked файли?
В: Так, використовуйте git stash -u (untracked) або git stash -a (всі включаючи ignored).
П: Що станеться з stash після merge конфлікту?
В: Stash залишається в списку. Виправте конфлікти, потім git stash drop щоб видалити.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.