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.

  1. Git stash save
  2. Git stash list
  3. Git stash apply
  4. Git stash pop
  5. Git stash show
  6. Git stash branch <nome>
  7. Git stash clear
  8. 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:

757jZHhanVirv5F5ZBeTXi2XNVPyAhOmDgwV
Exemplo de git stash list

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:

NrqQy5PTwIBRxvQ2WnlY09EV3ayd7DTbr2k9
Exemplo de git stash pop

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:

W6tFM8O0xrUfFznYg9O-mvAND4zNDX2R-RFc
Exemplo de Git stash show

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. 😀