Opções de desfazer no Git
Git - sistema de gerenciamento de versões incrivelmente potente, repleto de recursos projetados para gerenciar códigos e projetos. Sua característica mais valiosa é, sem dúvida, a capacidade de reverter modificações. Este documento aborda os procedimentos cruciais de reversão, incluindo "git restore", "git reset", "git revert" e "git checkout".
Uso do git checkout
O uso desse comando oferece uma maneira simples e eficaz de descartar alterações. Isso permite reverter a versão anterior dos arquivos no catálogo de trabalho ativo. Esse comando tem a capacidade de reverter modificações em um arquivo que não foi indexado até o momento. Para fazer isso, basta inserir:
git checkout myfile.txt
Uso do git reset
O próximo exemplo, embora um pouco mais complexo, fornece uma série de opções para reverter as modificações. Ele tem a capacidade de reverter as modificações no índice e também pode até mesmo modificar o HEAD. As três principais operações realizadas.
Ele direciona para o commit preciso indicado no comando, enquanto mantém as modificações no catálogo operacional e de índice:
git reset --soft
Reverte para o commit selecionado, apagando as modificações do índice, mas mantendo-as no catálogo de trabalho:
git reset --mixed
Reverte totalmente todas as alterações, traz você de volta para o commit mencionado, apagando todas as modificações no índice e nos catálogos de trabalho:
git reset --hard
Esta é uma ilustração prática:
git reset --hard HEAD~1
Esse exemplo reverterá o "HEAD" e apresentará um commit da ramificação, descartando todas as modificações.
Uso do git Restore
O comando "Git Restore" normalmente serve para desfazer alterações em arquivos ou estágios de volta ao estado em que se encontravam em um commit específico. Isso se torna essencial quando você faz modificações que posteriormente escolhe para desfazer. A sintaxe básica desse comando é:
git restore
Nesse contexto, "arquivo" deve ser substituído pelo nome do arquivo que você deseja reverter para o estado mais recente do commit.
Além disso, a restauração do Git também pode ser usada para arquivos sem estágio. Isso pode ser bastante útil se você tiver preparado prematuramente um arquivo e depois decidir não fazer o commit dele. A sintaxe para essa operação é:
git restore --staged
Nesse comando, "file" (arquivo) representa o nome do arquivo que você pretende remover da etapa. O Git restore também tem a capacidade de restaurar um arquivo para sua condição em um commit específico, o que é benéfico quando você deseja restaurar um arquivo para uma determinada versão. A estrutura de comando para isso é a seguinte:
git restore --source=
Nesse caso, "commit" refere-se ao hash exato do commit que você deseja usar como base para restaurar o arquivo, enquanto "file" significa o nome do arquivo.
Anular todas as modificações
Se você decidir reverter todas as modificações locais em seu diretório de trabalho, poderá executar o comando subsequente:
git restore -- .
Isso restaurará todos os arquivos no diretório atual ao seu status no commit mais recente.
Reverter
Se você enviou suas modificações para o repositório compartilhado e deseja desfazê-las, deve usar o comando git revert. Esse comando cria um novo commit que reverte as modificações do commit escolhido. Veja a seguir um exemplo de uso do git revert:
git revert HEAD
Essa ação gerará um novo commit que reverterá todas as modificações feitas nos commits anteriores.
As operações de desfazer devem ser gerenciadas com cautela, principalmente em ambientes com vários usuários. Normalmente, é aconselhável não desfazer os commits que já foram enviados para o repositório compartilhado, a menos que haja uma grande necessidade de fazê-lo
Em resumo, examinamos as operações fundamentais de desfazer no Git. Essas ferramentas poderosas oferecem flexibilidade e controle significativos sobre o histórico de alterações, mas devem ser usadas com critério.