Предположим, вы работаете над этой новой замечательной функцией, а кто-то только что нашёл ошибку, которую вам нужно срочно исправить. В таком случае вам пригодится возможность Git прятать (stash) текущие изменения. Добавьте все сделанные изменения в индекс используя
git add .
или же добавьте к индексу отдельные файлы, как вам удобнее. Потом спрячьте изменения:
git stash
Вуаля, вы вернулись к исходному состоянию проекта. Исправили ошибку? Теперь можно продолжить работать над функцией:
git stash apply
Git позволяет последовательно спрятать несколько изменений, поэтому не забывайте использовать
git stash list
для просмотра всего списка заначек. Из стека легко можно достать заначки любого уровня. Например, для внесения изменений из второй заначки вам нужно вызвать следующую команду:
git stash apply stash@{1}
Изменения из вершины стека вносятся в текущий код с помощью опции pop
(Спасибо, jamesgolick!):
git stash pop
Обратите внимание, что эта команда удаляет спрятанные изменения, в то время как apply
оставляет их в стеке. Удалить заначку с номером id можно так:
git stash drop <id>
Опция clear
полностью очищает стек:
git stash clear