Como armazenar alterações no Git


0

Logo Git em um fundo azul

Precisa mudar para uma ramificação diferente, mas não está pronto para confirmar as alterações feitas na ramificação atual? Você pode armazenar suas alterações e voltar a elas mais tarde. É possível no Git, quer você use o GitHub ou outro serviço de hospedagem.

Por que esconder suas alterações?

Armazenar suas alterações é uma ótima maneira de acompanhar seu trabalho atual sem enviá-las para a ramificação de trabalho. Isso permite que você trabalhe entre várias ramificações sem enviar nenhuma alteração.

Existem vários casos em que você pode precisar armazenar suas alterações. Digamos, por exemplo, que você esteja trabalhando na ramificação A. No entanto, há um bug sério no código da ramificação B que precisa de sua atenção imediata. Você precisa mudar para a ramificação B para corrigir o bug, mas não está pronto para confirmar o trabalho que estava fazendo na ramificação A.

Graças ao git stash, você pode armazenar suas alterações na ramificação A sem empurrá-las, alternar e corrigir o bug na ramificação B e, em seguida, voltar para a ramificação A e continuar de onde parou.

Como armazenar alterações

Você pode armazenar suas alterações executando um comando simples. Antes de fazer isso, porém, você pode executar um comando diferente para ver exatamente o que você armazenará. Em sua ramificação de trabalho, execute este comando:

git status

Execute o comando git status.

Isso mostrará as alterações preparadas e não preparadas que você fez em sua ramificação. No nosso caso, modificamos o arquivo “test.md”. Lembre-se de que o git stash armazenará as alterações preparadas e não preparadas.

Agora que você revisou o que será armazenado, execute este comando para armazenar as alterações:

git stash

Execute o comando git stash.

Uma vez executado, você receberá uma mensagem informando que suas alterações foram armazenadas em . Sua ramificação agora terá a aparência de antes de você fazer suas alterações e agora é seguro alternar para uma nova ramificação.

Ver alterações armazenadas

Se você salvou vários stashes, talvez queira ver uma lista dos stashes antes de tentar recuperar um. Ao visualizar uma lista de seus stashes, anote o nome do stash que deseja recuperar e continue trabalhando.

No terminal, execute este comando:

git stash list

Execute o comando git stash list.

Uma lista de stashes será então retornada. No exemplo acima, nosso nome de stash é stash@{0}. O número dentro das chaves é o índice. Se você tiver vários stashes no mesmo branch, o número será diferente.

Um exemplo de um stash com números diferentes.

Se você quiser ver os detalhes de um stash, execute:

git stash show

Execute o comando git stash show.

Você também pode executar git stash show -p para visualizar os resultados no formato diff.

Recuperar alterações armazenadas

Quando estiver pronto para continuar de onde parou, você precisará recuperar suas alterações armazenadas. Existem duas maneiras diferentes de fazer isso. Um comando manterá uma cópia de suas alterações no stash enquanto também a copia para sua ramificação de trabalho. O outro copiará tudo para o seu branch de trabalho, mas removerá tudo do stash.

Para manter uma cópia de suas alterações no stash e também trazê-las para sua ramificação de trabalho, execute:

git stash apply

execute o comando git stash apply.

Para trazer as alterações para sua ramificação de trabalho, mas excluir a cópia do stash, execute:

git stash pop

Execute o comando git stash pop.

Se houver vários stashes em uma única ramificação, basta adicionar o nome do stash ao final do comando.

Agora você pode continuar trabalhando com suas alterações anteriores. Depois de fazer todas as alterações necessárias na ramificação e juntá-la à ramificação principal, não se esqueça de excluir a ramificação para manter seu repositório limpo!

RELACIONADO: Como excluir um branch no GitHub


Like it? Share with your friends!

0

What's Your Reaction?

hate hate
0
hate
confused confused
0
confused
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win

0 Comments

Your email address will not be published. Required fields are marked *