Đoạn xem trước bài giảng

Desfazendo Erros: restore, reset, revert — O Caminho Correto e os Perigos

Um dos tópicos mais requisitados em entrevistas e no dia a dia profissional é como desfazer alterações já realizadas. Vamos explorar três ferramentas com diferentes 'níveis' de desfazer, focando no mais importante: demonstraremos cenários específicos onde reset --hard pode prejudicar o trabalho em equipe, e como revert se apresenta como uma alternativa segura. Soluções boas e ruins — com consequências reais.

git restore git reset git revert
Bạn sẽ học gì trong bài giảng này
  • Você conseguirá desfazer alterações com confiança em qualquer estágio: no diretório de trabalho, no índice e no histórico de commits.
  • Você entenderá a diferença fundamental entre reset e revert, sabendo quando cada um é mais apropriado.
  • Você aprenderá a evitar os erros comuns que iniciantes cometem ao desfazer alterações em repositórios compartilhados.

Phần đầu bài giảng

Git restore: o botão desfazer para arquivos

  • Git restore — desfaz alterações não commitadas
  • Funciona como o botão 'desfazer' do editor
  • Seguro — não altera o histórico de commits
  • Retorna os arquivos para o último estado salvo

Imagine que você salvou acidentalmente um arquivo com erros e quer voltar ao estado anterior. O Git restore age como um botão mágico de desfazer — ele retorna os arquivos para o último estado confirmado. Diferente de outros comandos de desfazer, o restore trabalha apenas com alterações não commitadas e é completamente seguro para o histórico do seu projeto. É a primeira ferramenta a ser usada quando você precisa corrigir rapidamente uma situação sem arriscar o histórico de alterações.

Desfazendo alterações no diretório de trabalho

  • git restore arquivo.txt — retorna o arquivo para o último commit
  • Desfaz todas as alterações no diretório de trabalho
  • Seguro — as alterações podem ser recuperadas pelo editor
  • Verifique o status com git status antes de restaurar

Suponha que você passou meia hora editando um arquivo de configuração, mas percebeu que está no caminho errado. Em vez de reverter cada alteração manualmente, execute git restore config.yml. O arquivo voltará instantaneamente ao estado do último commit. É como se você simplesmente fechasse o arquivo sem salvar, mas com a garantia de que está retornando a uma versão funcional.

# Demonstração de restauração de arquivo
$ echo "Alterações incorretas" > main.py
$ git status
$ git restore main.py
$ cat main.py
$ git status

Removendo arquivo do índice

  • git restore --staged file.txt — remove o arquivo do índice
  • Mantém as alterações no diretório de trabalho
  • Cuidado: sem --staged as alterações serão perdidas
  • Sempre verifique o git status antes de executar

Um erro comum é adicionar acidentalmente um arquivo desnecessário ao índice. Por exemplo, você executou git add ponto e incluiu um arquivo temporário de configuração. O comando git restore com a flag --staged e o nome do arquivo, como settings.tmp, removerá cuidadosamente o arquivo do índice, mas manterá todas as alterações no diretório de trabalho. Sem a flag --staged, você perderia seu trabalho, então sempre verifique o status com git status antes de executar o restore. Agora você sabe desfazer alterações antes do commit. Mas e se o erro já estiver no histórico? É aí que o git reset entra em cena.

# Arquivo adicionado ao índice por engano
$ git add config.tmp
$ git status

# Remove do índice mantendo as alterações
$ git restore --staged config.tmp
$ git status

# Verifica se o arquivo permaneceu no diretório de trabalho
$ ls -la config.tmp

Bài giảng đầy đủ dành cho thuê bao

Còn 24 slide nữa trong phiên bản đầy đủ.

Video, toàn bộ slide, ghi chú, bài kiểm tra, gia sư AI và phỏng vấn sẽ mở sau khi đăng nhập và đăng ký thuê bao.

Đăng nhập hoặc đăng ký Đăng ký thuê bao

Nội dung bài giảng

  1. Git restore: o botão desfazer para arquivos
  2. Desfazendo alterações no diretório de trabalho
  3. Removendo arquivo do índice
  4. Git reset: como funciona a rebobinagem do histórico
  5. Reset --soft seguro: alterações no índice
  6. Reset padrão --mixed: alterações no diretório de trabalho
  7. Reset --hard perigoso: exclusão irreversível
  8. Reset: três modos, um comando
  9. git reset --soft: reescrevendo o histórico com segurança
  10. Quando usar --mixed e --hard
  11. Checklist: qual reset escolher?
  12. Por que não podemos simplesmente apagar um erro?
  13. Como o git revert funciona na prática
  14. Desfazendo vários commits de uma vez
  15. Reset: reescrevendo o histórico localmente
  16. Revert: desfazendo alterações com segurança
  17. O que acontece ao fazer push: reset vs revert
  18. Por que o reset --hard é perigoso
  19. Exemplo de perda de alterações
  20. Como recuperar dados
  21. Perigos do rollback em branch compartilhada
  22. Rollback seguro com revert
  23. Sequência correta de ações
  24. Quando usar: restore, reset ou revert
  25. Regras para trabalhar com histórico pessoal e compartilhado
  26. Instruções passo a passo em caso de erro
  27. Conclusão e Tarefa: Mestre do Desfazer

Bài viết liên quan đến bài học này

Tất cả bài giảng của khóa học

  1. Introdução: Git do Zero ao Desenvolvedor Confiante
  2. Por que o Git é necessário — e por que ele é exigido no mercado de trabalho
  3. Instalação e Configuração: Preparando o Git para o Primeiro Uso
  4. Primeiro Repositório: init, add, commit e a Mágica do Índice
  5. Lendo o histórico: log, diff, show e navegação pelo passado
  6. Branches: A Realidade Paralela do Seu Código
  7. Desfazendo Erros: restore, reset, revert — O Caminho Correto e os Perigos
  8. GitHub e repositórios remotos: seu código na nuvem
  9. Trabalho em Equipe: Forks, Branches de Funcionalidades e Pull Requests
  10. Conflitos de Merge: Sem Pânico - Entenda e Resolva
  11. Processos de Git em equipes reais: qual fluxo de trabalho escolher
  12. Ferramentas Avançadas: rebase, stash, cherry-pick e tags
  13. Projeto Final: Simulando o Desenvolvimento em Equipe no Mundo Real