Artigo original: Useful tricks you might not know about Git stash
O autor do artigo original criou o boletim informativo Git Better para ajudar a aprender novos truques e tópicos avançados do Git. Se você está interessado em melhorar no Git, você deve definitivamente dar uma olhada nisso.
Se você usa o Git há algum tempo, pode já ter usado o Git stash. É um dos recursos úteis do Git.
Aqui estão alguns dos truques úteis que aprendi sobre o Git stash na semana passada.
- Git stash save
- Git stash list
- Git stash apply
- Git stash pop
- Git stash show
- Git stash branch <nome>
- Git stash clear
- Git stash drop
Git stash save
Este comando é como o Git stash. Porém, ele vem com várias opções. Vou discutir algumas opções importantes neste artigo.
Git stash com mensagem
git stash save "Sua mensagem para o stash".
O comando acima armazena (stash, em inglês) e deixa uma mensagem. Veremos como isso é útil em instantes.
Armazenando arquivos não rastreados
Você também pode armazenar arquivos não rastreados.
git stash save -u
ou
git stash save --include-untracked
Git stash list
Antes de discutir este comando, deixe-me dizer algo sobre como o stash funciona.
Quando você usa Git stash ou Git stash save, o Git, de fato, criará um objeto Git commit com algum nome e o salvará em seu repositório.
Isso significa que você pode visualizar a lista de stashes que fez a qualquer momento.
git stash list
Veja o exemplo abaixo:

Você pode ver a lista de stashes feitos. O stash mais recente feito está no topo.
Você pode ver que o stash superior recebe uma mensagem personalizada (usando Git stash save "mensagem").
Git stash apply
Este comando pega o stash mais alto na pilha e o aplica ao repositório. No nosso caso, é stash@{0}.
Se você deseja aplicar algum outro stash, pode especificar o ID desse stash.
Aqui está o exemplo:
git stash apply stash@{1}
Git stash pop
Este comando é muito semelhante ao stash apply, mas exclui o stash da pilha depois de aplicado.
Aqui está o exemplo:

Como você pode ver, o stash superior foi excluído e o stash@{0} foi atualizado com o stash mais antigo.
Do mesmo modo, se você deseja que um stash específico apareça, você pode especificar o id do stash
git stash pop stash@{1}
Git stash show
Este comando mostra o resumo das diferenças dos stashes. O comando acima considera apenas o stash mais recente.
Aqui está o exemplo:

Se você quiser ver a diferença completa, pode usar o seguinte:
git stash show -p
Da mesma forma como ocorre com outros comandos, você também pode especificar o stash id para obter o resumo das diferenças.
git stash show stash@{1}
Git stash branch <nome>
Este comando cria uma branch (em português, ramificação) com o stash mais recente e, em seguida, exclui o stash mais recente (como stash pop).
Se você precisar de um stash específico, poderá especificar o ID do stash.
git stash branch <nome> stash@{1}
Isso será útil quando você se deparar com conflitos depois de aplicar o stash à versão mais recente da sua branch.
Git stash clear
Este comando exclui todos os stashes feitos no repositório. Talvez seja impossível revertê-lo.
Git stash drop
Este comando exclui o stash mais recente da pilha. Use-o com cautela, pois pode ser difícil revertê-lo.
Você também pode especificar o ID do stash.
git stash drop stash@{1}
Espero que você tenha aprendido alguns truques úteis sobre o Git stash.
Se você chegou até aqui, imagino que esteja bem interessado no Git. Confira o boletim informativo Git Better do autor para aprender novos truques e tópicos avançados do Git. :)
Se você gostou do artigo, compartilhe-o. 😀