Aula 9: A Gaveta Temporária (Git Stash)

Por: Nerd Toolkit Postado em: Julho 15, 2026 Visto por: 2

Imagine a seguinte situação: você está montando um quebra-cabeças enorme na mesa da sala de jantar. Metade dele já está pronto, mas as peças ainda estão soltas. De repente, chega visita e você precisa da mesa para servir o jantar.

Você não pode jogar as peças fora (perder o trabalho), mas também não faz sentido passar cola e enquadrar o quebra-cabeças do jeito que está, porque ele está incompleto (fazer um commit). O que você faz? Você "varre" as peças com cuidado para dentro de uma gaveta temporária, limpa a mesa, serve o jantar e, quando a visita for embora, tira as peças da gaveta e coloca na mesa exatamente como estavam antes.

No Git, essa gaveta mágica se chama Stash.

O Problema Real do Desenvolvedor

Você está no seu universo paralelo (nova-feature) escrevendo um código complexo. No meio do trabalho, seu chefe liga desesperado: "O site oficial está fora do ar! Um erro no index.php! Conserte agora na main!"

Você tenta mudar de branch digitando git checkout main, mas o Git bloqueia a viagem ou, pior, leva o seu código pela metade e quebrado para a branch principal. Você precisa de uma "mesa limpa" para trabalhar no erro, mas não quer fazer um commit de um código inacabado.

Exercício Prático: O Chamado de Emergência

Passo 1: Criando a bagunça

  1. Garanta que você está em uma nova branch para testar:

    git checkout -b teste-gaveta

     
  2. Abra o seu arquivo veiculos.php e comece a digitar um código novo, mas deixe ele intencionalmente pela metade:

    <?php
    // Código pela metade, com erro de sintaxe
    echo "Lista de veículos em manu
  3. Não faça o git add nem o git commit. Se você rodar git status, verá o arquivo modificado em vermelho.

Passo 2: A Emergência (Guardando na Gaveta)

O telefone tocou, você precisa ir para a main. Vamos limpar a mesa guardando tudo na gaveta temporária.

No terminal, digite:

git stash

(O Git vai dizer algo como: "Saved working directory and index state...").

A mágica: Olhe o seu arquivo veiculos.php no editor de código. Aquele código pela metade sumiu! O arquivo voltou a ser exatamente como era na última foto (commit). A sua "mesa" está limpa e segura.

Passo 3: Resolvendo o problema

  1. Agora você pode viajar em paz:

    git checkout main

     

  2. Trabalhe normalmente. Altere o index.php, conserte o bug, faça o git add, git commit e git push. O fogo foi apagado!

Passo 4: Retomando o trabalho inacabado

  1. O problema foi resolvido, então volte para o seu universo onde o trabalho foi interrompido:

    git checkout teste-gaveta

     

  2. Para pegar as peças da gaveta e jogar de volta na mesa, use o comando:

    git stash pop

     

(O termo "pop" significa "estourar" ou "pular para fora").

Ufa! Olhe o seu arquivo veiculos.php de novo. Aquele seu código que estava pela metade voltou para a tela, exatamente do jeito que você havia deixado, pronto para ser terminado.

Cheat Sheet da Gaveta (Comandos do Stash)

Se você for interrompido muitas vezes, pode acabar guardando várias coisas na gaveta. Aqui estão os comandos para gerenciar essa bagunça:

ComandoO que ele faz
git stashGuarda todas as suas alterações não salvas (sem commit) na gaveta.
git stash popTira a alteração mais recente da gaveta e coloca de volta no seu código.
git stash listMostra tudo o que está guardado na sua gaveta no momento.
git stash clearJoga a gaveta inteira no lixo. (Cuidado: as alterações serão perdidas para sempre!).

Dica de Sobrevivência: O git stash é temporário. Não use ele como um substituto para o commit. Se você vai parar de trabalhar na funcionalidade hoje e só vai voltar nela na semana que vem, é melhor fazer um commit com a mensagem "WIP: Começa a fazer a lista de veículos" (WIP significa Work In Progress, ou Trabalho em Andamento). Use a gaveta apenas para interrupções rápidas!

Notícias Relacionadas

Aula 9: A Gaveta Temporária (Git Stash)
  Contato
  • support@nerdtoolkit.com.br
Mapa do Site
Mostrar mapa do site
  Sobre

Feito de programadores para programadores.

Este site utiliza cookies. Ao continuar a utilizar este site, você concorda com a nossa utilização de cookies e política de privacidade.
Leia mais Concordo