Раздел вопрос-ответ Как посмотреть что лежит в git stash?

Как посмотреть что лежит в stash в git?

Хочется знать какие последствия вызовет команда git stash apply.

share

1 ответ

git stash apply

Чтобы узнать какие изменения вызовет эта команда, можно посмотреть какие файлы лежат в стеке git:

git stash show — команда покажет файлы из последнего stash. Пример:

$ git stash show
 3rdparty/PhpWhois         | 2 +-
 framework                 | 2 +-
 lib/Git/Stash.php         | 2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)

Если нужно посмотреть, какие конкретно изменения сделаны в файлах, то нужно к предыдущей команде добавить ключ -p:

git stash show -p — покажет какие изменения лежат в stash


Git Stash — это стэк. Можно достать и предыдущие изменения, положенные в stash git.

Посмотреть весь список stash:

git stash list

$ git stash list
stash@{0}: WIP on master: f1f1d84 typo
stash@{1}: WIP on master_mywot: 33601de Скипнул тест CommentNotes (нет в выдаче после смены вёртски)
stash@{2}: WIP on master_mturk_revert: c410f9d typo
stash@{3}: WIP on master_mturk_modernize: 5096512 typo
stash@{4}: WIP on master: 9072aa9 typo fix
stash@{5}: WIP on master_moderate: 74c6ca8 Merge remote-tracking branch 'origin/master' into master_moderate
stash@{6}: WIP on master_moderate: 6d162fb dashboard
stash@{7}: WIP on master_moderate: 3ede2e5 typo
stash@{8}: WIP on master: df443f3 Merge pull request #600 from vicman-wi/master_max_exec_time
stash@{9}: WIP on master: f7c9dc3 typo add whitespace
stash@{10}: WIP on master: 96fa4ae more secured cookie

Тут будет список из 40 последних стэшей.

Команда git stash apply применяет последний stash т.е. следующая команда будет равнозначная:

git stash apply stash@{0}

А эта команда внесёт изменения, которые хранятся в стэке под 5-ым номером:

git stash apply stash@{5}

Узнать какие изменения в git stash под конкретным номером:

git stash show -p stash@{5}


Команда apply лишь выдаёт изменения, которые спрятаны в стэке. При этом сами наработки остаются храниться в стэке. Чтобы удалить (очистить) последний сохранённый git stash:

git stash drop   # удалит последний git stash
git stash drop stash@{5}  #удалит git stash под номером 5

Подробнее об очистке git stash.

Добавить комментарий
    как минимум 5 символов

    icon Вход в систему

    зарегистрироваться