Переключение на другой коммит может потребоваться в тот момент, когда новая фича ещё не завершена и тесты не написаны. Например, нужно запустить код из нового merge request или сделать хот-фикс в master ветке. При попытке перейти к другому коммиту git вежливо сообщит, что переход невозможен, так как есть незакомиченные изменения: error: Your local changes to the following files would be overwritten by checkout...
Первое, что приходит в голову — сделать коммит и перейти в нужное состояние репозитория. Лучше так не делать: получится коммит с не работающим кодом и в будущем будет сложнее вернуть контекст.
Самое время попробовать команду
git stash. В результате git временно откладывает все текущие изменения и мы получаем чистую рабочую копию. Теперь можно спокойно перемещаться по репозиторию. Чтобы вернуть наработки в рабочую копию необходимо выполнить команду git stash pop. Подробнее почитать о команде stash можно в главе книги Pro Git (оригинал)
#skills #books