Git stash

Git stash #

Algumas vezes é necessário deixar as alterações efetuadas em uma branch salvas sem realizar um commit, isto é possível através do git stash. com o uso desse comando temos uma saída parecida com a apresentada a seguir.

$ git stash
Saved working directory and index state \
"WIP on master: 049d078 added the index file"
HEAD is now at 049d078 added the index file
(To restore them type "git stash apply")

Dessa forma a modificação é adicionada na pilha e assim é possível efetuar o git checkout sem problemas.

$ git status
# On branch master
nothing to commit, working directory clean

Caso queira continuar o código a parti das alterações salvas na pilha, digite git stash list e será exibido algo como.

$ git stash list
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051... Revert "added file_size"
stash@{2}: WIP on master: 21d80a5... added number to log

Então é só selecionar um com git stash apply para selecionar o mais recente, ou pode selecionar um específico da lista, para isso basta fazer semelhante ao apresentado abaixo.

git stash apply stash@{2}

$ git stash apply
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
#
# modified: index.html
# modified: lib/simplegit.rb
#

Essas são as funcionalidades básicas do stash, com esse simples comando é possível guardar temporariamente as alterações para continuarmos posteriormente e sema necessidade de fazer o commit de uma tarefa que ainda não foi terminada.

← Blog