JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Como reverter alterações no Git

Editado 3 meses atrás por ExtremeHow Equipe Editorial

GitReversãoReverterJanelasMacLinuxLinha de comandoControle de versãoControle de VersãoSolução de problemasDesenvolvimento

Como reverter alterações no Git

Tradução atualizada 3 meses atrás

No mundo de hoje, o desenvolvimento de software frequentemente envolve várias pessoas trabalhando juntas no mesmo código. Para gerenciar essa colaboração de forma eficaz, os desenvolvedores usam sistemas de controle de versão como o Git. Git é um poderoso e amplamente utilizado sistema de controle de versão que ajuda os desenvolvedores a rastrear mudanças em seu código, trabalhar com outros e gerenciar diferentes versões de seus projetos. Uma das tarefas mais importantes que os desenvolvedores frequentemente precisam realizar é reverter mudanças. Reverter mudanças no Git é uma maneira de desfazer ou reverter mudanças que foram feitas no código em casos onde algo deu errado ou quando as mudanças originais não são mais necessárias.

Entendendo o Git e sua importância

Antes de entrar nos detalhes de reverter mudanças no Git, é importante entender o que é o Git e por que ele é importante. Git é um sistema de controle de versão distribuído e de código aberto criado por Linus Torvalds em 2005. Ele permite que múltiplos desenvolvedores trabalhem simultaneamente em um projeto sem sobrescrever o trabalho um do outro.

O Git é importante porque registra todas as mudanças feitas no código, fornecendo um histórico completo do projeto. Este histórico é benéfico porque permite que os desenvolvedores olhem para os estados anteriores do projeto, entendendo quais mudanças foram feitas e quem as fez. Se uma mudança recente introduzir um bug ou erro, o histórico do Git possibilita identificar e reverter essas mudanças.

Cenários comuns para reverter alterações

No desenvolvimento de software, existem vários cenários em que você pode precisar reverter alterações no Git:

Comandos principais para reverter alterações

O Git oferece vários comandos para reverter alterações em diferentes estágios do processo de desenvolvimento. Vamos dar uma olhada nesses comandos e aprender como usá-los:

1. `git checkout`

O comando git checkout pode ser usado para trocar de ramos, mas também é útil para reverter alterações no seu diretório de trabalho. Se você fez alterações em um arquivo que deseja apagar, pode usar o seguinte comando:

git checkout -- <nome-do-arquivo>

Este comando restaura o arquivo especificado ao último estado cometido. Isto é útil quando as alterações são indesejadas ou se você fez modificações temporárias que precisam ser removidas.

2. `git revert`

O comando git revert é usado para criar um novo commit que desfaz as alterações feitas por um commit anterior. Esta abordagem é mais segura que alguns outros métodos porque não remove o commit existente. Em vez disso, adiciona um novo commit que desfaz o commit especificado.

git revert <hash-do-commit>

Este comando é especialmente útil quando as alterações foram enviadas para um repositório compartilhado. Reverter um commit cria um novo commit com as alterações opostas.

3. `git reset`

O comando git reset é versátil, permitindo que você reverta alterações na área de estágio e/ou no diretório de trabalho. Aqui está uma descrição do seu uso:

git reset <hash-do-commit>

Este comando move o ramo atual para o commit especificado. Por padrão, isso afeta o índice (área de estágio) e o head (onde o ramo atualmente aponta), mas não o diretório de trabalho.

git reset HEAD <nome-do-arquivo>

Se você adicionou arquivos à área de estágio e quer removê-los, use este comando. Isso reseta o(s) arquivo(s) no diretório de trabalho, removendo-os do índice.

git reset --hard <hash-do-commit>

Este comando não só reseta o head atual para o commit especificado, mas também atualiza o diretório de trabalho para coincidir com esse commit. Todas as alterações feitas após este commit em ambas a área de estágio e o diretório de trabalho são perdidas. Use este comando com cautela, pois um reset duro não pode ser facilmente revertido.

4. `git clean`

O comando git clean é usado para remover arquivos não rastreados do diretório de trabalho. Estes são arquivos que foram criados ou alterados, mas ainda não foram cometidos.

git clean -f

Este comando apagará quaisquer arquivos não rastreados. Se você quiser apagar diretórios também, pode usar:

git clean -fd

Exemplos de reverter alterações

Exemplo 1: Desfazendo alterações de arquivo local

Suponha que você fez modificações em um arquivo chamado example.txt e depois decidiu descartar essas alterações. Você pode desfazer suas alterações usando o seguinte comando:

git checkout -- example.txt

Este comando restaurará o example.txt ao seu último estado cometido.

Exemplo 2: Cancelando um commit

Se você acidentalmente fez um commit e quer desfazer seus efeitos, pode usar git revert. Vamos dizer que o hash do commit seja abc1234:

git revert abc1234

Este comando criará um novo commit que reverterá as alterações feitas pelo commit abc1234. Isso é especialmente útil ao trabalhar com repositórios compartilhados.

Exemplo 3: Deletando alterações

Se você preparou um arquivo chamado data.csv e quer removê-lo da área de preparação, use:

git reset HEAD data.csv

Este comando remove data.csv da área de preparação, deixando suas alterações intactas no diretório de trabalho.

Exemplo 4: Realizando um reset duro para um commit anterior

Para resetar seu ramo atual para o commit anterior identificado pelo hash def5678, e remover todas as alterações subsequentes tanto da área de preparação quanto do diretório de trabalho, use:

git reset --hard def5678

Importante: tenha cuidado, pois esta abordagem remove permanentemente as alterações após o commit def5678.

Conclusão

Reverter alterações no Git é uma habilidade vital para desenvolvedores. Seja para desfazer um commit recente, remover alterações da preparação ou reverter modificações em seus arquivos, o Git possui os comandos apropriados para lidar com essa tarefa. Com um entendimento de comandos como git checkout, git revert, git reset e git clean, torna-se mais fácil lidar com erros e alterações indesejadas.

É importante usar esses comandos com cuidado, especialmente aqueles que mudam permanentemente o seu diretório de trabalho ou histórico de commits. Sempre considere se um simples desfazer ou um processo de rollback mais complexo é necessário para o seu cenário.

À medida que se familiariza mais com o Git, você descobrirá que suas habilidades para gerenciar versões e colaborar eficientemente são ferramentas indispensáveis no desenvolvimento de software. Reverter alterações é apenas uma das muitas capacidades que tornam o Git uma parte indispensável do kit de ferramentas do desenvolvedor.

Se você encontrar algo errado com o conteúdo do artigo, você pode


Comentários