Git stash - отложить изменения без создания нового коммита

Отложить изменения - stash save

Чтобы отложить все изменения в проекте (далее - набор изменений) без создания нового коммита в отдельное хранилище-копилку с возможностью восстановить данные оттуда в будущем:

$ git stash save "Any Change Descriptions" -u

Эта команда отложит (спрячет), а точнее, перенесет все изменения (новые и измененные файлы) в отдельное хранилище-копилку с описанием "Any Change Descriptions". Опция "-u" (псевдоним этого параметра: --include-untracked) добавит в хранилище-копилку и все новые файлы. Команда git status покажет, что в проекте нет никаких изменений.

Просмотр отложенных изменений - stash list или show

Посмотреть все наборы изменений, находящиеся в хранилище-копилке:

$ git stash list
stash@{0}: On master: Any Change Descriptions

Восстановить данные в будущем можно будет по номеру сохраненных изменений: stash@{0}, stash@{1}, stash@{2}, ..., stash@{x}. Более новое сохранение изменений в копилку будет иметь большую цифру (номер) версии. Например, если сделать еще одно сохранение изменений в копилку-хранилище, оно будет называться stash@{1}.

git stash show отобразит все изменения в последнем записанном наборе изменений, git stash show stash@{2} - все изменения в наборе stash@{2}.

Восстановление отложенных изменений - stash pop или apply

Восстановить набор изменений из последнего сохранения в копилку-хранилище (изменение с наибольшим числом x в stash@{x}) и за одно удалить его из копилки-хранилища можно так:

$ git stash pop

Восстановить определенное изменение (например stash@{0}) из копилки-хранилища и за одно удалить его из копилки-хранилища можно так:

git stash pop stash@{0}

Восстановить определенный набор изменений, например stash@{3}, а затем удалить его из хранилища можно такими двумя командами:

$ git stash apply stash@{3}
$ git stash drop stash@{3}

Если запустить git stash drop без параметров, то будет удален последний набор изменений.

Опубликовано: 2020/02/26
HTML-код ссылки на эту страницу:
<a href="https://petrenco.com/git.php?txt=725" target="_blank">Отложить изменения: git stash</a>
35
Добавить комментарий
Ваш e-mail: (не виден посетителям сайта)
Ваше имя:
Комментарий:
Символы с картинки:
Только выделенные поля формы добавления комментариев обязательны к заполнению.