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.