Довольно часто при работе с git возникает ситуация, когда необходимо обновиться (сделать pull), но при этом коммитить сырой код совсем не хочется. На помощь спешит команда git stash, которая скрывает все сделанные изменения и переводит код в состояние HEAD. После чего можно сделать pull, а дальше уже накатить изменения до этого спрятанные.
Делается это следующим образом:
git stash git pull git stash apply
и можно продолжать работать.
Возможные варианты опций при работе с командой stash:
git stash apply
- применить изменения к текущей версииgit stash list
- вывести список измененийgit stash show
- вывести последние изменнияgit stash drop
- удалить последние изменения в спискеgit stash pop
- [apply
] + [drop
]git stash clear
- очистить список изменений
Если сравнить с SVN, то git stash чем-то похож на svn patch, только тут мы еще код возвращаем в исходную версию, а потом уже можно применить этот патч.
Более подробно можно почитать тут.