freeCodeCamp/guide/portuguese/git/git-stash/index.md

3.0 KiB

title localeTitle
Git Stash Git Stash

Git Stash

O Git possui uma área chamada stash, onde você pode armazenar temporariamente um instantâneo de suas alterações sem comprometê-las com o repositório. É separado do diretório de trabalho, da área de preparação ou do repositório.

Essa funcionalidade é útil quando você faz alterações em uma ramificação que não está pronta para confirmar, mas precisa alternar para outra ramificação.

Stash Changes

Para salvar suas alterações no stash, execute o comando:

git stash save "optional message for yourself" 

Isso salva suas alterações e reverte o diretório de trabalho para a aparência do último commit. As alterações ocultas estão disponíveis em qualquer ramificação nesse repositório.

Observe que as alterações que você deseja ocultar precisam estar nos arquivos rastreados. Se você criou um novo arquivo e tentar esconder as alterações, poderá receber o erro No local changes to save .

Visualizar alterações ocultas

Para ver o que está no seu stash, execute o comando:

git stash list 

Isso retorna uma lista de seus instantâneos salvos no formato stash@{0}: BRANCH-STASHED-CHANGES-ARE-FOR: MESSAGE . A parte stash@{0} é o nome do stash e o número nas chaves ( { } ) é o índice desse stash. Se você tiver vários conjuntos de alterações armazenados, cada um deles terá um índice diferente.

Se você esqueceu quais alterações foram feitas no stash, você pode ver um resumo delas com git stash show NAME-OF-STASH . Se você quiser ver o layout típico do patch no estilo diff (com os + e os 's' para alterações linha por linha), você pode incluir a opção -p (para patch). Aqui está um exemplo:

git stash show -p stash@{0} 
 
 # Example result: 
 diff --git a/PathToFile/fileA b/PathToFile/fileA 
 index 2417dd9..b2c9092 100644 
 --- a/PathToFile/fileA 
 +++ b/PathToFile/fileA 
 @@ -1,4 +1,4 @@ 
 -What this line looks like on branch 
 +What this line looks like with stashed changes 

Recuperar alterações ocultas

Para recuperar as alterações do stash e aplicá-las ao ramo atual em que você está, você tem duas opções:

  1. git stash apply STASH-NAME aplica as alterações e deixa uma cópia no stash
  2. git stash pop STASH-NAME aplica as alterações e remove os arquivos do stash

Pode haver conflitos quando você aplica alterações. Você pode resolver os conflitos semelhantes a uma mesclagem ( consulte Mesclar o Git para obter detalhes ).

Excluir alterações ocultas

Se você quiser remover as alterações ocultas sem aplicá-las, execute o comando:

git stash drop STASH-NAME 

Para limpar todo o stash, execute o comando:

git stash clear 

Mais Informações: