Menu
Coddy logo textTech

Git Stash

Última atualização

git stash guarda suas alterações não commitadas e reverte sua árvore de trabalho para um estado limpo, para que você possa trocar de branch ou fazer pull sem commitar trabalho pela metade. As alterações vão para uma pilha que você pode reaplicar depois com git stash pop (aplicar e remover) ou git stash apply (aplicar e manter).

Experimente estes comandos no terminal playground - um shell real no seu navegador, sem nada para instalar.

Sintaxe

CommandWhat it does
git stashGuarda as alterações rastreadas e limpa a árvore de trabalho
git stash -uTambém guarda os arquivos não rastreados
git stash push -m "msg"Guarda com uma mensagem descritiva
git stash push <file>Guarda apenas um arquivo específico
git stash listLista todos os stashes
git stash popReaplica o último stash e o remove
git stash applyReaplica o último stash e o mantém
git stash dropExclui o último stash
git stash clearExclui todos os stashes

pop vs apply

Behaviorgit stash popgit stash apply
Reaplica as alteraçõesSimSim
Remove o stash depoisSimNão
Bom para reutilizar um stashNãoSim

Perguntas frequentes sobre git stash

O que o git stash faz?
Ele salva suas alterações não commitadas em uma pilha e redefine sua árvore de trabalho para o último commit, dando um ponto de partida limpo. Suas alterações não são perdidas - ficam guardadas e podem ser reaplicadas depois com git stash pop ou git stash apply. É útil quando você precisa trocar de branch mas ainda não está pronto para commitar.
Qual é a diferença entre git stash pop e git stash apply?
Ambos reaplicam seu stash mais recente à árvore de trabalho. git stash pop também remove esse stash da pilha em seguida, enquanto git stash apply o deixa na pilha para que você possa aplicá-lo novamente em outro lugar. Use pop para uma restauração única e apply quando quiser reutilizar o stash.
O git stash inclui os arquivos não rastreados?
Não por padrão - um git stash simples só guarda os arquivos rastreados (modificados). Adicione -u (git stash -u) para incluir os arquivos não rastreados, ou -a para incluir também os arquivos ignorados. Sem esses flags, os arquivos novos aos quais você não deu git add permanecem na sua árvore de trabalho.
Como aplico um stash específico?
Execute git stash list para vê-los numerados como stash@{0}, stash@{1}, e depois git stash apply stash@{1} (ou pop) para reaplicar um específico. Cada stash também mostra o branch e a mensagem com que foi criado, para que você possa distingui-los.
Posso praticar isso online?
Sim. Abra o terminal playground para executar git stash em um shell real no seu navegador - sem nada para instalar. O curso interativo e gratuito de Git da Coddy também aborda passo a passo como gerenciar o trabalho em andamento.
Coddy programming languages illustration

Aprenda Git com a Coddy

COMEÇAR