Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Revertendo Commits | Desfazendo Alterações
Git Essentials

bookRevertendo Commits

No amplo cenário do controle de versão com o Git, uma situação comum é a necessidade de desfazer alterações introduzidas por um commit específico. Isso pode ocorrer por diversos motivos, como a descoberta de um bug, a constatação de que uma funcionalidade não está pronta para produção ou simplesmente o desejo de adotar uma abordagem diferente.

Felizmente, o Git oferece o comando git revert para criar um novo commit que desfaz as alterações introduzidas por um commit específico, realizando o inverso das mudanças daquele commit.

Revertendo o Último Commit

Para reverter o último commit, utilize o seguinte comando:

git revert HEAD
Note
Nota

HEAD é um ponteiro para o commit mais recente no branch atual.

Como estamos trabalhando apenas com um único branch agora, o HEAD simplesmente aponta para o commit mais recente. Este comando cria um novo commit que desfaz as alterações feitas no último commit. O Git abrirá o editor de texto padrão para permitir que você modifique a mensagem do commit, se necessário. Salve e feche o editor para concluir o revert.

Exemplo de Fluxo de Trabalho

Primeiro, adicione uma nova linha ao arquivo recipe.txt com outro passo e faça o commit diretamente dessa alteração, pulando a área de stage:

Agora é possível exibir as informações detalhadas desse commit usando o comando git show com HEAD:

Ops, todas as linhas anteriores foram excluídas. Parece que usamos o operador de saída errado, ou seja, > em vez de >>, o que fez com que nosso arquivo fosse sobrescrito. Sem problemas, usaremos o comando git revert para desfazer essas alterações em nosso commit mais recente:

Como pode ver, o editor de texto padrão é aberto (Vim no meu caso) com a mensagem de commit padrão. Por enquanto, vamos deixá-la como está, mas em projetos reais geralmente é melhor adicionar o motivo do rollback, por exemplo:

Note
Nota

Para salvar as alterações e sair do Vim, pressione a tecla Escape e duas letras Z maiúsculas.

Por fim, é possível visualizar as alterações nos dois commits mais recentes:

Basicamente, como esperado, um novo commit foi criado com as alterações inversas.

Note
Nota

Use as setas para rolar para cima ou para baixo e pressione a tecla q para sair.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 3.57

bookRevertendo Commits

Deslize para mostrar o menu

No amplo cenário do controle de versão com o Git, uma situação comum é a necessidade de desfazer alterações introduzidas por um commit específico. Isso pode ocorrer por diversos motivos, como a descoberta de um bug, a constatação de que uma funcionalidade não está pronta para produção ou simplesmente o desejo de adotar uma abordagem diferente.

Felizmente, o Git oferece o comando git revert para criar um novo commit que desfaz as alterações introduzidas por um commit específico, realizando o inverso das mudanças daquele commit.

Revertendo o Último Commit

Para reverter o último commit, utilize o seguinte comando:

git revert HEAD
Note
Nota

HEAD é um ponteiro para o commit mais recente no branch atual.

Como estamos trabalhando apenas com um único branch agora, o HEAD simplesmente aponta para o commit mais recente. Este comando cria um novo commit que desfaz as alterações feitas no último commit. O Git abrirá o editor de texto padrão para permitir que você modifique a mensagem do commit, se necessário. Salve e feche o editor para concluir o revert.

Exemplo de Fluxo de Trabalho

Primeiro, adicione uma nova linha ao arquivo recipe.txt com outro passo e faça o commit diretamente dessa alteração, pulando a área de stage:

Agora é possível exibir as informações detalhadas desse commit usando o comando git show com HEAD:

Ops, todas as linhas anteriores foram excluídas. Parece que usamos o operador de saída errado, ou seja, > em vez de >>, o que fez com que nosso arquivo fosse sobrescrito. Sem problemas, usaremos o comando git revert para desfazer essas alterações em nosso commit mais recente:

Como pode ver, o editor de texto padrão é aberto (Vim no meu caso) com a mensagem de commit padrão. Por enquanto, vamos deixá-la como está, mas em projetos reais geralmente é melhor adicionar o motivo do rollback, por exemplo:

Note
Nota

Para salvar as alterações e sair do Vim, pressione a tecla Escape e duas letras Z maiúsculas.

Por fim, é possível visualizar as alterações nos dois commits mais recentes:

Basicamente, como esperado, um novo commit foi criado com as alterações inversas.

Note
Nota

Use as setas para rolar para cima ou para baixo e pressione a tecla q para sair.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 4
some-alt