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

bookRevertendo um Commit Específico

git revert

Para reverter um commit específico, utilize o comando git revert. Este comando cria um novo commit que desfaz as alterações introduzidas pelo commit especificado. Sintaxe básica:

git revert <commit-hash>

Em vez de usar HEAD (que aponta para o commit mais recente), especifique o hash do commit (ID do commit) que deseja reverter, substituindo <commit-hash> pelo valor real do hash.

Mais sobre Hashes

Cada commit possui um ID único — uma string hexadecimal de 40 caracteres composta por dígitos (0–9) e letras (a–f). Esse identificador é chamado de hash. Agora, visualize o commit mais recente:

O commit mais recente

Aqui está o seu hash:

1b00736255dca7d78659a9971d0c30fba0eb3075

Note
Nota

Você terá um hash diferente para este commit pelo motivo explicado abaixo.

O hash do commit é calculado usando o algoritmo SHA-1 com base nas seguintes informações:

  • Mensagem do commit;
  • Data;
  • Autor;
  • Snapshot da árvore de trabalho;
  • Hash do commit pai (ou commits quando houver mais de um pai).

Se o commit for o primeiro no repositório, então o hash do commit pai aparentemente não é calculado.

Como todas essas informações do commit são usadas para calcular seu hash, utilizar hashes como IDs de commit garante a consistência do repositório. Além disso, a probabilidade de dois commits diferentes terem o mesmo hash (probabilidade de colisão) é extremamente baixa, sendo muito improvável que isso aconteça por acaso.

Basicamente, se qualquer coisa for alterada no commit, seu hash também mudará. Isso significa que, caso os dados sejam corrompidos por qualquer motivo, o Git pode usar o hash para identificar essa situação.

Note
Nota

Ao alterar um commit, o ID do commit é modificado, por isso é preferível não utilizar o comando git commit --amend ao trabalhar com repositórios remotos.

Exemplo de Fluxo de Trabalho

Antes de decidir qual commit reverter, visualize os quatro commits mais recentes:

Quatro commits mais recentes

Há um commit onde o arquivo recipe.txt foi adicionado. Reverter esse commit para criar um novo que desfaça essas alterações e efetivamente exclua o arquivo. Neste exemplo, o hash do commit é:

043b634d76a7a7744757350512b6367417c29e0

O seu hash de commit será diferente. Agora reverta esse commit:

Substitua esse hash pelo seu hash.

Reverter no Git

Mais uma vez, o editor de texto padrão é aberto com a mensagem de commit padrão para o revert. Deixe a mensagem inalterada.

Mensagem padrão de commit de revert

Em seguida, feche o editor de texto corretamente e exiba as alterações feitas no commit mais recente:

O commit mais recente

7 exclusões ocorreram, indicando que todas as sete linhas do arquivo foram removidas. Agora, verifique se o próprio arquivo foi excluído listando todos os arquivos e diretórios não ocultos no diretório do projeto:

Listando arquivos e diretórios

O arquivo recipe.txt foi excluído com sucesso.

question-icon

Associe as ações aos respectivos comandos.


Revert the latest commit:

Revert a specific commit:

Unstage changes:

Revert unstaged changes:

Unstage changes and then revert the changes in the working directory:

Overwrite the existing commit:

Clique ou arraste solte itens e preencha os espaços

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 5

Pergunte à IA

expand

Pergunte à IA

ChatGPT

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

Suggested prompts:

What happens if I revert a commit that is not the most recent one?

Can I revert multiple commits at once?

What should I do if I encounter a merge conflict during a revert?

Awesome!

Completion rate improved to 3.57

bookRevertendo um Commit Específico

Deslize para mostrar o menu

git revert

Para reverter um commit específico, utilize o comando git revert. Este comando cria um novo commit que desfaz as alterações introduzidas pelo commit especificado. Sintaxe básica:

git revert <commit-hash>

Em vez de usar HEAD (que aponta para o commit mais recente), especifique o hash do commit (ID do commit) que deseja reverter, substituindo <commit-hash> pelo valor real do hash.

Mais sobre Hashes

Cada commit possui um ID único — uma string hexadecimal de 40 caracteres composta por dígitos (0–9) e letras (a–f). Esse identificador é chamado de hash. Agora, visualize o commit mais recente:

O commit mais recente

Aqui está o seu hash:

1b00736255dca7d78659a9971d0c30fba0eb3075

Note
Nota

Você terá um hash diferente para este commit pelo motivo explicado abaixo.

O hash do commit é calculado usando o algoritmo SHA-1 com base nas seguintes informações:

  • Mensagem do commit;
  • Data;
  • Autor;
  • Snapshot da árvore de trabalho;
  • Hash do commit pai (ou commits quando houver mais de um pai).

Se o commit for o primeiro no repositório, então o hash do commit pai aparentemente não é calculado.

Como todas essas informações do commit são usadas para calcular seu hash, utilizar hashes como IDs de commit garante a consistência do repositório. Além disso, a probabilidade de dois commits diferentes terem o mesmo hash (probabilidade de colisão) é extremamente baixa, sendo muito improvável que isso aconteça por acaso.

Basicamente, se qualquer coisa for alterada no commit, seu hash também mudará. Isso significa que, caso os dados sejam corrompidos por qualquer motivo, o Git pode usar o hash para identificar essa situação.

Note
Nota

Ao alterar um commit, o ID do commit é modificado, por isso é preferível não utilizar o comando git commit --amend ao trabalhar com repositórios remotos.

Exemplo de Fluxo de Trabalho

Antes de decidir qual commit reverter, visualize os quatro commits mais recentes:

Quatro commits mais recentes

Há um commit onde o arquivo recipe.txt foi adicionado. Reverter esse commit para criar um novo que desfaça essas alterações e efetivamente exclua o arquivo. Neste exemplo, o hash do commit é:

043b634d76a7a7744757350512b6367417c29e0

O seu hash de commit será diferente. Agora reverta esse commit:

Substitua esse hash pelo seu hash.

Reverter no Git

Mais uma vez, o editor de texto padrão é aberto com a mensagem de commit padrão para o revert. Deixe a mensagem inalterada.

Mensagem padrão de commit de revert

Em seguida, feche o editor de texto corretamente e exiba as alterações feitas no commit mais recente:

O commit mais recente

7 exclusões ocorreram, indicando que todas as sete linhas do arquivo foram removidas. Agora, verifique se o próprio arquivo foi excluído listando todos os arquivos e diretórios não ocultos no diretório do projeto:

Listando arquivos e diretórios

O arquivo recipe.txt foi excluído com sucesso.

question-icon

Associe as ações aos respectivos comandos.


Revert the latest commit:

Revert a specific commit:

Unstage changes:

Revert unstaged changes:

Unstage changes and then revert the changes in the working directory:

Overwrite the existing commit:

Clique ou arraste solte itens e preencha os espaços

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

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