Como descartar mudanças em arquivos não commitados?
No Git, há momentos em que você pode querer desfazer mudanças antes de commitá-las. Existem diferentes comandos para descartar essas alterações, dependendo se os arquivos já foram adicionados ao stage ou ainda estão no working directory.
1. Descartar mudanças em arquivos modificados (não adicionados ao stage)
Se você fez alterações em um arquivo, mas ainda não as adicionou ao stage (git add
), pode desfazê-las com:
git checkout -- arquivo.txt
Esse comando retorna o arquivo ao estado da última versão commitada. Caso queira desfazer mudanças em todos os arquivos modificados, use:
git checkout -- .
⚠️ Atenção: Esse comando não pode ser revertido, então use com cuidado.
2. Descartar mudanças em arquivos que já foram adicionados ao stage
Se você já usou git add
para adicionar os arquivos ao stage, mas ainda não realizou o commit, pode remover essas mudanças do stage sem perder o conteúdo editado com:
git reset arquivo.txt
Isso remove o arquivo do stage, mas mantém as alterações feitas.
Para remover todos os arquivos do stage:
git reset
Agora, para descartar completamente as mudanças (tanto do stage quanto do working directory), utilize:
git checkout -- arquivo.txt
3. Usando git restore (versões mais recentes do Git)
A partir das versões mais novas do Git, git restore
substituiu git checkout
para desfazer mudanças em arquivos não commitados. Para usá-lo:
git restore arquivo.txt
Ou, para restaurar todas as alterações não commitadas:
git restore .
Por que entender como descartar mudanças no Git é importante?
Saber como descartar mudanças não commitadas no Git é uma habilidade essencial para qualquer desenvolvedor. Muitas vezes, fazemos alterações no código que não queremos manter, e reverter essas mudanças de forma correta evita problemas futuros.
É importante sempre verificar quais arquivos foram modificados antes de descartar alterações. O comando git status
ajuda a visualizar se os arquivos estão apenas modificados ou se já foram adicionados ao stage. Além disso, se estiver inseguro sobre descartar mudanças, criar um backup do arquivo antes pode ser uma boa prática. Para evitar problemas, recomenda-se não usar comandos destrutivos como git reset --hard
sem ter certeza das consequências.
Algumas aplicações:
- Reverter alterações indesejadas sem afetar o histórico do Git
- Corrigir erros rapidamente sem precisar de commits desnecessários
- Evitar que mudanças temporárias sejam adicionadas ao repositório
- Manter um código mais limpo e organizado
- Facilitar a revisão e controle de versões no desenvolvimento
Dicas para quem está começando
- Antes de descartar mudanças, use 'git status' para verificar o estado dos arquivos.
- Se não tiver certeza, faça um backup do arquivo antes de restaurá-lo.
- Use 'git restore' para versões mais recentes do Git em vez de 'git checkout'.
- Se já adicionou o arquivo ao stage, use 'git reset' antes de restaurá-lo.
- Evite o uso de 'git reset --hard' sem ter certeza, pois ele pode apagar alterações permanentemente.
Contribuições de Tatiane Freitas