# O que você precisa saber sobre o `git stash`

> O git stash é uma maneira de guardar temporariamente suas mudanças enquanto você trabalha em outro lugar. É como colocar suas alterações em uma caixa...

- URL: https://iagofrota.com.br/blog/o-que-voce-precisa-saber-sobre-o-git-stash/
- Data: 2023-09-25
- Tags: git, git-stash, produtividade, qa

## O que é o `git stash`

O `git stash` é uma maneira de guardar temporariamente suas mudanças enquanto você trabalha em outro lugar. É como colocar suas alterações em uma caixa para mais tarde continuar de onde parou. Quando você estiver pronto para retomar suas mudanças, é só abrir a caixa e continuar o trabalho. É uma forma de manter tudo organizado e evitar confusões. É como mágica para guardar e retomar suas mudanças!

## Como eu posso utilizar no meu dia a dia?

### Interrupções Repentinas

Se você precisa mudar de tarefa rapidamente, pode guardar suas alterações com `git stash` e voltar a elas depois.

### Troca de Branch

Antes de trocar de branch com mudanças não finalizadas, guarde as alterações com `git stash` para evitar conflitos.

### Atualizações de Emergência

Se você precisa atualizar rapidamente seu código, mas tem mudanças em andamento, use o stash para guardar e aplicar depois.

### Testes Rápidos

Ao experimentar mudanças, mas não tem certeza se quer aplicá-las, use o stash para "limpar" temporariamente seu espaço de trabalho.

### Sincronização com o Remoto

Antes de puxar as atualizações do repositório remoto, use o stash para evitar conflitos.

### Merge de Branches

Ao fazer merge, se houver conflitos, você pode guardar as alterações atuais, fazer o merge e depois aplicar as mudanças guardadas.

### Revisão de Código

Se estiver revisando o código de outra pessoa e precisar fazer alterações, pode guardar essas mudanças temporariamente.

## Como fazer um stash

### Salvar alterações atuais

Use este comando para salvar suas alterações atuais em um local temporário, junto com uma mensagem descritiva para que você saiba o que está armazenado.

```
git stash save "mensagem"
```

### Listar todos os stashes

Este comando lista todos os stashes que você salvou, para que você possa ver o que está disponível.

```
git stash list 
```

### Aplicar um stach específico

Use isso para aplicar um stash específico de volta ao seu código. O "n" é o índice do stash na lista.

```
git stash apply stash@{n}
```

### Remover o stach mais recente

Este comando aplica o stash mais recente e remove-o da lista de stashes.

```
git stash pop
```

### Remover um stash específico

Se você quiser remover um stash específico sem aplicá-lo, use esse comando.

```
git stash drop stash@{n}
```

### Criar um novo stash de uma branch especifica

Crie uma nova branch a partir de um stash específico.

```
git stash branch nova-branch
```

## Dicas Rápidas

1. **Seja Descritivo:** Use mensagens descritivas ao criar stashes para saber o que cada um contém.

3. **Gerencie Seus Stashes:** Não deixe stashes não utilizados acumularem. Limpe-os quando não forem mais necessários.

5. **Pense Antes de Aplicar:** Ao aplicar um stash, verifique se suas alterações atuais não entrarão em conflito com as que estão no stash.

7. **Use uma ferramenta**: Por fim, e não menos importante, utilize um ferramenta visual para trabalhar com GIT 😉

## Resumo

Por fim, o "git stash" é um comando simples, porém poderoso, par a os profissionais que trabalham com desenvolvimento de software (inclusive QAs) que desejam gerenciar eficazmente suas alterações durante o desenvolvimento e os testes. Com esse comando em seu arsenal, você estará mais preparado para lidar com mudanças inesperadas e alternar entre tarefas com facilidade, mantendo a integridade do seu trabalho.
