Переключение между задачами



Иногда во время работы над одной задачей нужно переключиться на другую: поправить пул реквест или сделать хотфикс. Если текущие изменения не готовы для полноценного коммита, можно использовать stash или shelve.



Stash



Изменения сохранятся в локальном git репозитории, а текущая ветка почистится. Можно спокойно переключаться на другую задачу.



git stash save "stash name"

В IDEA: VCS → Git → Stash Changes...



Вернуть изменения на место:

🔸 git stash apply "stash name"

и оставить stash в локальном репозитории

🔸 git stash pop "stash name"

и удалить стэш

🔸 В IDEA: VCS → Git → Unstash Changes...



Что важно:

Сохраняются ВСЕ текущие изменения в ветке

Обратно применяются ВСЕ изменения в стэше

Изменения хранятся в локальном git репозитории



Shelve



Удобная фича IDEA для сохранения части изменений:



VCS → Shelve Changes...

Галочками отмечаем, что сохранить.



Чтобы вернуть обратно:

Вкладка Git (Alt + 9 или найдите внизу) → Shelve

Отмечайте, какие изменения применить к коду



Можно выбрать, что сохранять

Можно указать, что восстановить

Изменения хранятся в локальном IDEA проекте