O Stashing permite que você mantenha uma cópia das alterações feitas em um repositório, sem precisar criar um commit.

É útil se você estiver alternando contextos, especialmente se estiver alternando entre diferentes bugs ou tarefas no mesmo projeto.

Operação básica do git stash

Você pode use o git stash para facilitar seu fluxo de trabalho quando se trata de linhas paralelas de trabalho. Imagine que você está trabalhando em uma tarefa de longa duração, com alterações em sua cópia de trabalho local. Então, surge algo urgente que você tem que trabalhar imediatamente.

O fluxo de trabalho padrão para alterações em stashing é:

  1. Faça alterações locais
  2. Armazenar alterações locais
  3. Reaplicar alterações armazenadas

Quando você armazena as alterações usando o git stash [push] comando, git redefine para HEAD. Você pode, então, continuar trabalhando no que for necessário, comprometendo-se com o repositório como se nunca tivesse feito as alterações originais.

Depois de terminar com o que o desviou em primeiro lugar, use

instagram viewer
git stash pop para aplicar suas alterações e removê-las do stash. Você também pode aplicar suas alterações e mantê-las no stash com git stash aplicar. Isso pode ser útil se você quiser aplicar rapidamente as alterações a várias ramificações.

Trabalhando com mais de um Stash

Se você estiver muito ocupado, poderá se encontrar trabalhando em várias tarefas ao mesmo tempo e talvez precise armazenar todas elas. Não se preocupe, o git stash foi criado para isso.

Toda vez que você usa o git stash push, está salvando outro conjunto de alterações. Usar git lista de armazenamento para mostrar tudo o que você guardou. Você verá algo mais ou menos assim:

stash@{0}: WIP no main: 2fba62e primeira confirmação
stash@{1}: WIP no principal: 2fba62e primeira confirmação

Essas mensagens não são muito úteis, mas você pode deixar algumas pistas adicionando uma mensagem personalizada ao stash:

git stash push -m "terceiro"

Ao listar agora, você verá sua mensagem personalizada:

stash@{0}: no principal: terceiro
stash@{1}: WIP no principal: 2fba62e primeira confirmação

Mostrando as diferenças entre os diferenciais

Para descobrir o que mudou em um stash, use git stash show. Sem mais argumentos, ele mostrará um resumo de diferenças para o último stash, assim:

$ git stash show
README.md | 3 +++
1 arquivo alterado, 3 inserções(+)

Você também pode passar um stash id para consultar uma entrada específica:

git stash show stash@{0}

Criando uma ramificação a partir de um Stash

Você pode decidir que as alterações em um stash são tão significativas que merecem estar em uma ramificação própria. Se for assim, criar um novo ramo do esconderijo usando o ramo comando:

git stash branch

Novamente, isso funcionará no stash mais recente por padrão, mas você pode fornecer um id de stash, se necessário. O Git cria seu novo branch a partir do mesmo ponto no repositório que o stash. Em seguida, ele aplica as alterações do stash à sua cópia de trabalho.

Limpando o Estoque

Não há comando “git unstash”. Se você deseja remover uma entrada do stash, use drop:

git stash derrubar

Novamente, o padrão é o mais recente, mas você pode fornecer um ID de stash. Se você decidir que deseja se livrar de tudo o que guardou, use este comando:

git stash clear

Use git stash para commits leves temporários

Os stashes do Git não são nem de longe tão poderosos quanto os repositórios completos. Mas eles ainda oferecem muitas funcionalidades úteis por si só. Use stashes se você precisar trocar de ramificação com frequência no meio do trabalho.

Stashing é apenas uma pequena parte do git, que é um programa com muito a oferecer.