Git stash = salvaguardar temporariamente as suas modificações SEM commit.
Analogia: é como pôr as suas coisas numa gaveta secreta antes de fazer outra coisa.
Porquê?
git stash → mudar → corrigir → voltar → git stash popmkdir demo-stash && cd demo-stash
git init
echo "print('v1')" > app.py
git add . && git commit -m "Versão inicial"
# Começa a codificar
echo "print('work in progress')" >> app.py
# URGÊNCIA! Tem de mudar de branch
git stash # Salvaguardar o WIP
git status # Working directory limpo!
# Fazer outra coisa...
git checkout -b hotfix
echo "print('CRITICAL FIX')" > fix.py
git add . && git commit -m "Urgent fix"
# Voltar ao trabalho original
git checkout main
git stash pop # Recuperar o work in progressMagia! As suas modificações voltaram.
| Comando | Ação |
|---|---|
git stash | Salvaguardar as alterações |
git stash pop | Recuperar + apagar do stash |
git stash list | Ver todos os stashes |
git stash apply | Recuperar SEM apagar |
git stash drop | Apagar um stash |
git stash clear | Esvaziar todos os stashes |
Situação clássica:
git stashgit stash popStash = o seu melhor amigo para as interrupções!