JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Como arquivar alterações no Git

Editado 2 Semanas atrás por ExtremeHow Equipe Editorial

GitDepósitoJanelasMacLinuxLinha de comandoDesenvolvimentoControle de VersãoControle de versãoFluxo de TrabalhoProdutividade

Como arquivar alterações no Git

Tradução atualizada 2 Semanas atrás

Git é um dos sistemas de controle de versão mais amplamente utilizados no mundo do desenvolvimento de software. Foi criado por Linus Torvalds em 2005 para o desenvolvimento do kernel do Linux. Desde então, tem sido usado em projetos de software de todos os tamanhos, por equipes de desenvolvedores... às vezes até por desenvolvedores que trabalham sozinhos. O Git ajuda você a rastrear versões de código, colaborar com vários desenvolvedores e garantir que você sempre pode reverter para versões anteriores do seu software quando necessário.

Ao trabalhar em um projeto gerenciado pelo Git, pode haver momentos em que você precisa trocar de branch. Por exemplo, você pode estar trabalhando em um novo recurso e, de repente, há um relatório de bug crítico que precisa ser corrigido imediatamente. Nesses casos, você gostaria de mudar o contexto e trabalhar na correção do bug sem perder seu progresso no recurso em que estava trabalhando. É aí que o Git Stash é útil.

Entendendo o Git Stash

O Git stash é um recurso poderoso que permite aos desenvolvedores salvar temporariamente suas mudanças sem comprometê-las com o repositório. Efetivamente, ele "prateleira" as alterações que você fez, permitindo que você faça checkout de um novo branch sem comprometer um novo recurso que pode ainda não estar pronto para que outros vejam. Quando você estiver pronto, pode aplicar essas alterações de volta à sua cópia de trabalho ou a outro branch.

Quando você executa o comando git stash, suas alterações são salvas em uma pilha. Esta pilha pode conter vários stashes, e você pode aplicar qualquer um dos stashes listados posteriormente. Um único stash é uma combinação de:

Uma vez que as alterações estão em stash, seu diretório de trabalho está limpo e você pode mudar de branch, compilar seu código ou fazer qualquer outra coisa que precise fazer. Depois de completar essa tarefa, você pode retornar ao seu trabalho original estourando ou aplicando o stash.

Comandos básicos do Git Stash

Para começar a usar o stash no Git, você precisa estar familiarizado com alguns comandos básicos. Aqui está uma olhada nos comandos mais importantes:

1. Mantendo seu dinheiro de alteração seguro

Para armazenar suas alterações, use o seguinte comando:

git stash push

Isso salvará suas modificações locais e reverterá seu diretório de trabalho para corresponder ao commit HEAD. É como se você nunca tivesse feito essas alterações.

2. Escondendo com a mensagem

É frequentemente útil incluir uma mensagem com suas alterações ocultas para fácil identificação:

git stash push -m "sua mensagem de stash"

Esta mensagem ajuda você a lembrar quais alterações estão neste stash sem se referir a alterações em nível de linha.

3. Listando o stash armazenado

Para ver uma lista de todas as suas coleções salvas:

git stash list

Este comando imprimirá uma lista de todos os stashes que você salvou e suas mensagens associadas.

4. Aplicando stash

Para reaplicar o último stash:

git stash apply

Este comando aplica o último stash ao seu diretório de trabalho atual, mas não o remove da lista de stashes.

5. Aplicando stash específico

Se você quiser aplicar um stash específico, use:

git stash apply stash@{n}

Substitua stash@{n} pelo stash específico que você deseja aplicar, que você pode identificar a partir da saída do git stash list.

6. Estourando o stash

Para aplicar e imediatamente excluir o último stash:

git stash pop

Isso é semelhante ao comando apply, mas também remove o stash aplicado da sua lista.

7. Eliminando o stash

Se você quiser excluir um stash específico (sem aplicá-lo), use:

git stash drop stash@{n}

Isso destruirá o stash especificado.

8. Limpando todos os armazenamento secreto

Se você quiser excluir todo o stash, o comando é:

git stash clear

Use este comando com cautela, pois ele destruirá permanentemente todas as alterações armazenadas.

Um exemplo de fluxo de trabalho

Considere um cenário em que você está desenvolvendo um novo recurso no branch feature-xyz, e você fez várias alterações em sua cópia de trabalho. De repente, você precisa corrigir um bug sério no branch principal.

Um guia passo a passo para usar o Git Stash

  1. Ver mudanças atuais: Certifique-se de que as alterações que você deseja stash ainda não foram comprometidas. Você pode verificar seu status atual via:
    git status
  2. Proteja suas alterações: Proteja suas modificações com uma mensagem descritiva:
    git stash push -m "Salvando trabalho em feature-xyz"
  3. Troque de branch: Troque para main ou qualquer outro branch que você precise trabalhar:
    git checkout main
  4. Corrija o bug: Faça as alterações necessárias para corrigir o bug e as comprometa.
    git commit -a -m "Bug crítico corrigido"
  5. Retorne ao seu branch de feature: Depois que o bug for corrigido, volte para o branch de feature:
    git checkout feature-xyz
  6. Aplica suas mudanças armazenadas: Restaure seu trabalho do armazenamento:
    git stash pop

    Se houver qualquer discordância, resolva-a e prossiga com seu trabalho.

Casos de uso avançados e bandeiras

O Git Stash oferece alguma flexibilidade com opções mais avançadas:

1. Arquivando arquivos não rastreados

Por padrão, git stash push apenas armazenará alterações em arquivos rastreados. Para incluir arquivos não rastreados:

git stash push -u

Isso arquivará tanto arquivos rastreados quanto não rastreados.

2. Armazenando arquivos ignorados

Se você também quiser fazer stash de arquivos ignorados (arquivos explicitamente excluídos por .gitignore ):

git stash push --all

3. Ocultando parte do arquivo

Você pode arquivar seletivamente partes de arquivos usando:

git stash -p

Este comando é interativo e permite selecionar pedaços específicos para stash.

4. Implementando stash com índices

Para reaplicar alterações armazenadas, incluindo alterações em estágio (no índice), use:

git stash apply --index

Esteja ciente de que isso pode causar conflitos se houver alterações conflitantes no índice.

Entendendo conflitos de stash

Embora stash e desarmazenamento sejam geralmente diretos, conflitos podem surgir, especialmente quando o stash é aplicado a uma base de código atualizada. Se ocorrerem conflitos, o Git os marcará como conflitos de mesclagem. Você deve editar os arquivos afetados, resolver os conflitos manualmente e marcá-los como resolvidos:

git add <file>

Uma vez resolvidos, você pode continuar trabalhando e, eventualmente, enviar suas alterações.

Melhores práticas do Git Stash

Aqui estão algumas dicas para tornar o trabalho com o Git Stash mais fácil e eficaz:

Conclusão

O Git stash é uma ferramenta versátil no arsenal do desenvolvedor, particularmente útil para preservar o trabalho não finalizado e mudar temporariamente de referência. Ao entender como usar o Git stash de forma eficaz, os desenvolvedores podem gerenciar mudanças sem problemas em diferentes tarefas, melhorando a eficiência e flexibilidade em seu fluxo de trabalho.

Desde salvar trabalho inacabado até focar em bugs importantes, implementar adequadamente as capacidades do git stash em seu fluxo de trabalho pode tornar o gerenciamento de alterações de código mais fácil e mais gerenciável. À medida que você se torna confortável com o Git stash, você descobrirá que ele se torna uma parte indispensável de sua caixa de ferramentas de desenvolvimento.

Se você encontrar algo errado com o conteúdo do artigo, você pode


Comentários