git stash salva temporariamente suas alterações não confirmadas e reverte seu diretório de trabalho para um estado limpo — para que você possa alternar contextos (por exemplo, corrigir um bug urgente em outro branch) sem confirmar trabalho inacabado e depois restaurar as alterações mais tarde.
O problema que stash resolve
You're mid-work with uncommitted changes, but need to switch context urgently:
→ switch branches? Git may refuse (uncommitted changes would conflict) or carry
them along messily
→ commit half-done work? No — it's not ready (pollutes history)
→ STASH saves your changes aside, giving you a clean working directory to switch.
