> For the complete documentation index, see [llms.txt](https://cumbucadev.gitbook.io/github-essentials/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cumbucadev.gitbook.io/github-essentials/dia-4/desfazendo-alteracoes-localmente/desfazendo-commits.md).

# Desfazendo Commits

Durante o desenvolvimento, é comum fazer commits e, em alguns momentos, perceber que algo precisa ser alterado. O Git oferece maneiras simples de desfazer commits feitos localmente, para que você possa corrigir ou ajustar as alterações antes de enviá-las para o repositório remoto.

Aqui vamos focar na forma mais simples e seguras de desfazer commits, sem complicações, para que você possa corrigir seus erros sem afetar o histórico de forma complicada.

## Reverter um Commit Específico

Se você deseja desfazer um commit que não é o último, o Git oferece uma maneira simples de fazer isso sem complicação. A melhor maneira de reverter um commit antigo é usando o comando <mark style="color:purple;">git</mark> <mark style="color:orange;">revert</mark>.

O <mark style="color:purple;">git</mark> <mark style="color:orange;">revert</mark> cria um novo commit que desfaz as alterações de um commit específico. Isso é útil quando você deseja desfazer algo que já foi feito, mas não quer afetar outros commits feitos depois desse.

Para reverter um commit antigo, você deve primeiro identificar o "hash" do commit que deseja desfazer. O hash é um identificador único para cada commit. Você pode visualizar o histórico de commits com o comando:

> <mark style="color:purple;">git</mark> <mark style="color:orange;">log</mark>

Depois de encontrar o hash do commit, use o comando:

> <mark style="color:purple;">git</mark> <mark style="color:orange;">revert</mark> <mark style="color:green;">hash-do-commit</mark>

O Git criará um novo commit que desfaz as alterações daquele commit. Assim, seu histórico de commits ficará preservado, e você ainda conseguirá corrigir o erro.

Essas são as formas mais comuns e seguras de desfazer commits **locais** no Git, ideais para iniciantes que estão começando a se familiarizar com o controle de versões.&#x20;

{% hint style="warning" %}
Esta é uma explicação simplificada para fins didáticos. Para explorar todas as possibilidades do comando   <mark style="color:purple;">`git`</mark><mark style="color:orange;">`revert`</mark>, consulte a documentação oficiail:

* [documentação oficial git revert](https://git-scm.com/docs/git-revert/pt_BR)
  {% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cumbucadev.gitbook.io/github-essentials/dia-4/desfazendo-alteracoes-localmente/desfazendo-commits.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
