Salvar seu trabalho com commits

Azure DevOps Services | 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 enquanto você modifica arquivos em seu repositório. Você informa ao Git quais alterações de arquivo deseja capturar em um instantâneo ao preparar alterações específicas. Após o preparo, você salva o instantâneo fazendo um commit.

Este artigo fornece procedimentos para as seguintes tarefas:

  • Como o Git controla as alterações
  • O que há em um commit
  • Como preparar suas alterações
  • Como criar um commit
  • Como atualizar seu último commit

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

Como o Git controla as alterações

Enquanto você trabalha em seu repositório, o Git acompanha as alterações em todos os arquivos rastreados. Arquivos rastreados são arquivos que estão atualmente preparados ou estão incluídos no commit anterior. O Git separa os arquivos rastreados em três categorias:

  • Arquivos não modificados - esses arquivos não foram alterados desde a última confirmação.
  • Arquivos modificados – os arquivos que você alterou desde a última confirmação, mas não foram preparados para o próximo commit.
  • Arquivos preparados – os arquivos que você alterou desde a última confirmação, mas não foram preparados para o próximo commit.

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

Quando você cria um commit, somente arquivos preparados 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 as alterações em novos arquivos ou inclui novos arquivos no instantâneo até que você os prepare.

Os commits são criados no Repositório do Git local. Cada commit não precisa ser perfeito e pode ser necessário vários commits para realizar uma alteração pretendida. Crie commits enquanto trabalha e, quando terminar, você poderá enviar seus commits por push para um repositório remoto para compartilhar seu trabalho com outras pessoas.

O que há em um commit

Cada commit inclui as seguintes informações:

  • Um instantâneo de todos os arquivos rastreados em seu repositório no momento do commit. Um instantâneo não é a diferença entre commits, embora o Git use instantâneos para calcular a diferença. Os instantâneos permitem alternar rapidamente entre ramificações e o suporte às ramificações de mesclagem.
  • Uma referência ao commit pai. 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 repositório não tem nenhum.
  • Uma mensagem que descreve as alterações no commit. Insira a mensagem ao criar o commit.

O Git usa o instantâneo e as referências pai de cada commit para manter um registro completo de desenvolvimento no repositório. Para investigar as alterações no código, você pode examinar o histórico do Git do repositório.

Como preparar suas alterações

Para criar um instantâneo para um commit:

  • Prepare novos arquivos para informar ao Git que você deseja que eles sejam adicionados ao instantâneo e você deseja que o Git acompanhe as alterações nesses arquivos daqui para frente.
  • Prepare arquivos editados para informar ao Git que você deseja a versão do arquivo modificada no instantâneo, não a versão do arquivo não modificada.
  • Prepare arquivos excluídos para informar ao Git 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 instantâneo, você pode configurar o Git para ignorar arquivos específicos.

Observação

O Git dá suporte ao preparo interativo de arquivos editados para que você possa optar por preparar alterações específicas em um arquivo. Esse é um recurso útil quando você deseja edições de arquivo diferentes em commits diferentes.

O Visual Studio 2022 fornece uma experiência de controle de versão do Git usando o menu Git, as Alterações do Git e através dos menus de contexto no Gerenciador de Soluções. O Visual Studio 2019, versão 16.8, também oferece a interface do usuário do Git do Team Explorer. Para saber mais, 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 Preparar para adicioná-lo à seção Alterações preparadas.

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 em 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 essa extensão. Qualquer um dos comandos criará um arquivo .gitignore no repositório se ele não existir e adicionará 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 nos arquivos rastreados. Para saber mais sobre como configurar o Git para ignorar arquivos rastreados, confira Ignorar arquivos. Para economizar tempo, faça download de modelos .gitignore para vários ambientes de desenvolvimento do repositório gitignore do GitHub.

Observação

A partir do Visual Studio 2022 versão 17.3, o Visual Studio dá suporte a alterações parciais de preparo em um arquivo. Para obter mais informações, consulte Preparar linhas de código no Visual Studio.

Como criar um commit

Na janela Alterações do Git, insira uma mensagem que descreva as alterações preparadas e selecione Commit preparado.

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

Selecione o link do commit para obter detalhes do commit.

Captura de tela mostra link de detalhes do commit na janela

Observação

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

Como atualizar seu último commit

O Git dá suporte à alteração dos arquivos preparados ou da mensagem do último commit. Essa operação substitui seu último commit por um novo commit que combina os arquivos preparados de ambos os commits e usa a nova mensagem do commit. Alterar um commit é útil se você esqueceu de preparar um arquivo ou sua última mensagem do commit tem um erro de digitação.

Aviso

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

  • Crie e envie por push outro commit que corrija os problemas causados pelo commit anterior.
  • Desfaça o commit anterior que foi enviada por push usando git revert para criar um novo commit que reverte todas as alterações feitas pelo commit anterior. Em seguida, envie por push o novo commit.

Na janela Alterações do Git, opcionalmente prepare um ou mais arquivos, insira uma mensagem do commit, selecione Alterar e escolha Commit preparado.

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

A janela Alterações do Git dá suporte à alteração da mensagem do commit, arquivos preparados ou ambos. Quando você seleciona Alterar, o identificador SHA do commit anterior é exibido.

Próximas etapas