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
| Command | What it does |
|---|---|
git stash | Guarda as alterações rastreadas e limpa a árvore de trabalho |
git stash -u | També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 list | Lista todos os stashes |
git stash pop | Reaplica o último stash e o remove |
git stash apply | Reaplica o último stash e o mantém |
git stash drop | Exclui o último stash |
git stash clear | Exclui todos os stashes |
pop vs apply
| Behavior | git stash pop | git stash apply |
|---|---|---|
| Reaplica as alterações | Sim | Sim |
| Remove o stash depois | Sim | Não |
| Bom para reutilizar um stash | Não | Sim |
Perguntas frequentes sobre git stash
O que o git stash faz?
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?
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?
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?
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?
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.