Git Stash

1 min

Índice

  1. O que é Stash?
  2. Prática imediata
  3. Comandos essenciais
  4. Caso de uso típico

1. O que é Stash?

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ê?

  • Codifica em feature-A
  • URGÊNCIA: bug crítico em main
  • Não quer fazer commit de código a meio
  • Solução: git stash → mudar → corrigir → voltar → git stash pop

Voltar ao índice

2. Prática imediata

bash
mkdir 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 progress

Magia! As suas modificações voltaram.

Voltar ao índice

3. Comandos essenciais

ComandoAção
git stashSalvaguardar as alterações
git stash popRecuperar + apagar do stash
git stash listVer todos os stashes
git stash applyRecuperar SEM apagar
git stash dropApagar um stash
git stash clearEsvaziar todos os stashes

Voltar ao índice

4. Caso de uso típico

Situação clássica:

  1. Codifica tranquilamente
  2. Colega: « Há um bug em produção!!! »
  3. Você: git stash
  4. Correção rápida e implantação
  5. Você: git stash pop
  6. Continua como se nada fosse

Stash = o seu melhor amigo para as interrupções!

Voltar ao índice