Salve seu trabalho com confirmações

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

O Git não tira automaticamente instantâneos do seu trabalho à medida que você modifica arquivos no seu repositório. Você informa ao Git quais alterações de arquivo deseja capturar em um instantâneo preparando alterações específicas. Após a preparação, você salva o instantâneo fazendo uma confirmação.

Este artigo fornece procedimentos para as seguintes tarefas:

  • Como o Git controla as alterações
  • O que há em uma confirmação
  • Como preparar as alterações
  • Como criar uma confirmação
  • Como atualizar sua última confirmação

Para obter uma visão geral do fluxo de trabalho do Git, consulte o tutorial do Azure Repos Git.

Como o Git controla as alterações

À medida que você trabalha em seu repositório, o Git rastreia as alterações em todos os arquivos rastreados . Os arquivos rastreados são arquivos atualmente preparados ou incluídos na confirmação anterior. O Git separa os arquivos rastreados em três categorias:

  • Arquivos não modificados - Os arquivos que você não alterou desde sua última confirmação.
  • Arquivos modificados - Os arquivos que você alterou desde a última confirmação, mas não foram preparados para a próxima confirmação.
  • Arquivos em estágios - Os arquivos que você alterou desde a última confirmação e preparou para a próxima confirmação.

Captura de tela mostrando o ciclo de vida dos arquivos em seu repositório entre os três estados.

Quando você cria uma confirmação, somente arquivos em estágios e arquivos não modificados são usados para o instantâneo. As alterações não preparadas nos arquivos modificados são mantidas, mas o instantâneo contém a versão não modificada desses arquivos. O Git não controla alterações em novos arquivos ou inclui novos arquivos no instantâneo até que você os prepare.

Os commits são criados no seu repositório Git local. Cada compromisso não precisa ser perfeito, e podem ser necessários vários compromissos para realizar uma mudança pretendida. Crie confirmações à medida que trabalha e, quando terminar, pode enviar as confirmações para um repositório remoto para partilhar o seu trabalho com outras pessoas.

O que há em uma confirmação

Cada confirmação inclui as seguintes informações:

  • Um instantâneo de todos os arquivos rastreados em seu repositório no momento da confirmação. Um snapshot não é a diferença entre commits, embora o Git use snapshots para calcular a diferença. Os snapshots permitem a comutação rápida entre ramificações e suportam a fusão de ramificações.
  • Uma referência ao(s) compromisso(s) pai(s). A maioria dos commits tem um pai, mas o próximo commit após uma mesclagem de ramificação tem vários pais e o primeiro commit em um repo não tem nenhum.
  • Uma mensagem descrevendo as alterações na confirmação. Você insere a mensagem quando cria a confirmação.

O Git usa o snapshot e a(s) referência(s) pai(s) de cada commit para manter um registro completo do desenvolvimento no repo. Para investigar alterações em seu código, você pode revisar o histórico do Git do seu repositório.

Como preparar as alterações

Para criar um instantâneo para uma confirmação:

  • Prepare novos arquivos para que o Git saiba que deseja que eles sejam adicionados ao snapshot e que deseja que o Git acompanhe as alterações nesses arquivos no futuro.
  • Prepare arquivos editados para que o Git saiba que você deseja a versão modificada do arquivo no instantâneo, não a versão do arquivo não modificado.
  • Prepare arquivos excluídos para que o Git saiba que você deseja que eles sejam removidos do instantâneo e não sejam mais rastreados.

Para excluir arquivos temporários, arquivos de log ou outros arquivos do seu instantâneo, você pode configurar o Git para ignorar arquivos específicos.

Nota

O Git suporta o preparo interativo de arquivos editados para que você possa optar por realizar alterações específicas em um arquivo. Este é um recurso útil quando você deseja edições de arquivos diferentes em confirmações diferentes.

O Visual Studio 2022 fornece uma experiência de controle de versão do Git usando o menu Git, Alterações do Git e por meio de menus de contexto no Gerenciador de Soluções. O Visual Studio 2019 versão 16.8 também oferece a interface de usuário do Team Explorer Git. Para obter mais informações, consulte a guia Visual Studio 2019 - Team Explorer .

Na janela Alterações do Git, clique com o botão direito do mouse em um arquivo na seção Alterações e escolha Palco para adicioná-lo à seção Alterações em etapas.

Captura de tela da opção Alterações na janela 'Alterações do Git' no Visual Studio.

Ou, você pode preparar um arquivo alterado selecionando o sinal de adição ao lado do arquivo. Para preparar todos os arquivos alterados em uma pasta, selecione o sinal de adição ao lado da pasta. Para preparar todos os arquivos alterados no seu repositório, selecione o sinal de adição no canto superior direito da seção Alterações .

Você pode dizer ao Git para ignorar um arquivo clicando com o botão direito do mouse nele e selecionando Ignorar este item local ou Ignorar esta extensão. Qualquer um dos comandos cria um arquivo .gitignore em seu repositório, se ele não existir, e adiciona uma entrada a ele. Os arquivos ignorados não aparecerão na seção Alterações no Visual Studio. No entanto, o arquivo .gitignore não tem efeito sobre os arquivos rastreados. Para obter informações sobre como configurar o Git para ignorar arquivos rastreados, consulte Ignorar arquivos. Para economizar tempo, você pode baixar modelos .gitignore para vários ambientes de desenvolvimento a partir do repositório gitignore do GitHub.

Nota

A partir do Visual Studio 2022 versão 17.3, o Visual Studio oferece suporte ao preparo de alterações parciais em um arquivo. Para obter mais informações, consulte Linhas de estágio de código no Visual Studio.

Como criar uma confirmação

Na janela Alterações do Git, insira uma mensagem que descreva suas alterações em estágios e selecione Confirmar estágios.

Captura de tela mostrando o link de informações de confirmação no Visual Studio.

Selecione o link de confirmação para obter detalhes de confirmação.

Captura de tela mostrando o link de detalhes de confirmação da janela 'Git Changes' no Visual Studio.

Nota

Se todas as alterações não estiverem preparadas, você poderá ignorar o preparo e confirmar diretamente escolhendo Confirmar tudo.

Captura de tela da opção 'Confirmar tudo' na janela 'Alterações do Git' no Visual Studio.

Como atualizar sua última confirmação

O Git suporta a alteração dos arquivos em estágios ou da mensagem da sua última confirmação. Esta operação substitui sua última confirmação por uma nova confirmação que combina os arquivos em estágios de ambas as confirmações e usa a nova mensagem de confirmação. Alterar uma confirmação é útil se você esqueceu de preparar um arquivo ou se sua última mensagem de confirmação tiver um erro de digitação.

Aviso

Não altere uma confirmação já enviada porque isso causará problemas de sincronização com seu repositório remoto. Para uma confirmação enviada, use uma destas estratégias:

  • Crie e envie por push outra confirmação que corrija os problemas causados pela confirmação anterior.
  • Desfaça a confirmação anterior que foi enviada por push, usando git revert para criar uma nova confirmação que reverte todas as alterações feitas pela confirmação anterior. Em seguida, pressione a nova confirmação.

Na janela Alterações do Git, opcionalmente, prepare um ou mais arquivos, insira uma mensagem de confirmação, selecione Alterar e escolha Confirmar em estágio.

Captura de tela mostrando a opção 'Alterar confirmação anterior' na janela 'Alterações do Git' do Visual Studio.

A janela Alterações do Git suporta a alteração da mensagem de confirmação, arquivos em estágios ou ambos. Quando você seleciona Emendar, o identificador SHA da confirmação anterior é exibido.

Próximos passos