Anular alterações

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

Visual Studio 2019 | Visual Studio 2022

Quando quiser desfazer alterações em um repositório Git, primeiro decida que tipo de alterações deseja desfazer. Por exemplo, você pode querer:

  • Descartar alterações não confirmadas em um arquivo revertendo o arquivo para sua última versão confirmada. Você também pode reverter um arquivo para qualquer versão confirmada.
  • Reverta uma ramificação para um estado anterior redefinindo-a para uma confirmação anterior.
  • Desfaça as alterações feitas por uma confirmação compartilhada criando uma nova confirmação que reverte as alterações. Como essa abordagem não reescreverá o histórico de confirmações existente, ela é adequada para reverter alterações feitas por confirmações que foram enviadas por push e estão em uso por outras pessoas.
  • Altere sua última confirmação para modificar seu conteúdo ou mensagem. Para obter mais informações, consulte Como atualizar sua última confirmação.
  • Corrija um problema introduzido em uma confirmação anterior criando uma nova confirmação que inclua a correção. Para obter mais informações, consulte Como criar uma confirmação.

Neste artigo, vai aprender a:

  • Descartar alterações não confirmadas em um arquivo
  • Reverter uma ramificação para um estado anterior
  • Desfazer as alterações feitas por uma confirmação compartilhada

Descartar alterações não confirmadas em um arquivo

Se você fez alterações em um arquivo, mas não as confirmou, pode usar o checkout do Git para descartar rapidamente as alterações e reverter o arquivo para sua última versão confirmada.

O Git checkout também pode reverter um arquivo para qualquer versão confirmada, quando você especifica o ID de confirmação.

Aviso

Se houver uma chance de você querer reaplicar as alterações que o Git checkout descartaria, considere manter essas alterações.

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 .

O Visual Studio oferece suporte ao descarte de alterações não confirmadas em um arquivo revertendo o arquivo para sua última versão confirmada.

Na janela Alterações do Git, identifique o arquivo com as alterações que você deseja descartar. Se o arquivo estiver na seção Alterações em Estágios, clique com o botão direito do mouse nele e escolha Despalcar. Os arquivos sem etapas aparecem na seção Alterações .

Captura de tela das opções do menu de contexto para arquivos em estágios no Visual Studio.

Se o arquivo estiver na seção Alterações, clique com o botão direito do mouse nele e escolha Desfazer alterações para descartar todas as alterações no arquivo desde a última confirmação.

Captura de tela das opções do menu de contexto para arquivos alterados no Visual Studio.

Reverter uma ramificação para um estado anterior

Você pode reverter uma ramificação para um estado anterior usando a redefinição do Git para redefinir a ramificação para uma confirmação anterior. O Git reset afeta todos os arquivos em todas as pastas ramificadas.

O Git reset tem algumas opções. A opção padrão é reverter a ramificação para uma confirmação anterior, mas manter todas as alterações subsequentes como alterações não confirmadas. Outra opção é reverter uma ramificação para uma confirmação anterior descartando todas as alterações em todos os arquivos de ramificação desde essa confirmação.

Aviso

Não redefina uma ramificação para uma confirmação antes da última confirmação se a última confirmação tiver sido enviada por push e compartilhada com outras pessoas. Isso fará com que o histórico da filial local não corresponda mais ao histórico da filial remota. Para ramificações compartilhadas, consulte Desfazer as alterações feitas por uma confirmação compartilhada.

  1. Na barra de menus, escolha Git > View Branch History para abrir a guia History da ramificação atual.

    Captura de tela da opção Exibir histórico de ramificações no menu Git no Visual Studio.

  2. Na guia Histórico da ramificação atual, clique com o botão direito do mouse na confirmação que deseja redefinir e escolha Redefinir > alterações de exclusão (--hard) para redefinir a ramificação para a confirmação selecionada e excluir todas as alterações em todos os arquivos de ramificação desde essa confirmação. Ou escolha Redefinir > Manter alterações (--mixed) para redefinir a ramificação para a confirmação selecionada e manter todas as alterações subsequentes como alterações não preparadas.

    Captura de tela da opção Redefinir no menu de contexto de uma confirmação na janela Histórico no Visual Studio.

Desfazer as alterações feitas por uma confirmação compartilhada

Você pode desfazer as alterações feitas por uma confirmação usando a reversão do Git para criar uma nova confirmação que reverta essas alterações. O Git revert não exclui a confirmação original. Essa abordagem é adequada para desfazer as alterações feitas por uma confirmação compartilhada porque o Git revert não alterará o histórico de confirmação anterior e, portanto, os históricos de ramificações locais e remotas continuam a corresponder.

  1. Na barra de menus, escolha Git > View Branch History para abrir a guia History da ramificação atual.

    Captura de tela da opção Exibir histórico de ramificações no menu Git no Visual Studio.

  2. Na guia Histórico da ramificação atual, clique com o botão direito do mouse na confirmação que deseja reverter e escolha Reverter para criar uma nova confirmação que desfaça as alterações feitas pela confirmação selecionada.

    Captura de tela da opção Reverter no menu de contexto de uma confirmação na janela Histórico no Visual Studio.

Próximos passos