GIT - Guardando temporariamente as modificações de um repositório sem commit usando stash




Muitas vezes, enquanto estamos trabalhando em um branch, chega um pedido de bugfix ou precisamos executar alguma operação como mudar de um branch para outro. O que fazemos com as modificações que já haviamos feito? Criamos um novo commit só para guardar o trabalho já feito mas não concluído? Isso pode poluir nossa cadeia de commit. Desfazer todo o trabalho já feito está fora de cogitação. Então o que fazer quando precisamos limpar temporariamente nosso branch de trabalho?

A resposta é o comando stash!

Abaixo seguem alguns dos comandos básicos:

Limpando temporariamente o stage das modificações para poder dar checkout para outro branch sem precisar fazer commit nada.

 $ git stash  


Lista o que está no temporário (stash)

 $ git stash list


Para recuperar o último stash e manter todos os stashes anteriores

 $ git stash apply


Para recuperar o último stash e remove-lo da pilha

 $ git stash pop


Para limpar a pilha de stash (no caso em que você esteja utilizando sempre o 'git stash apply' e acumulando a pilha de stash)

 $ git stash clear

Obs: O comando stash coloca as modificações em um repositório virtual que pode ser acessado de qqr branch. Por isso se, por exemplo, você fizer um git stash no branch development ele estará disponível no branch master ou em qqr outro branch.

Para mais referências, consulte a documentação ofcial do GIT sobre stash

Comentários

Postagens mais visitadas deste blog

MySQL - Completando quantidades fixas de caracteres com as funções LPAD() e RPAD()

MySQL - Clonando tabelas na linha de comando

PHP - Gerando arquivo em UTF-8 com fwrite() e utf8_encode()