Desfazer alterações
A sua rede de segurança
⏱ Estim. ~8 min
01 · Ler
Bagunçou tudo? O git consegue restaurar um arquivo para a versão do último commit. É como uma rede de segurança — desde que você tenha um commit recente, sempre dá para voltar para o estado bom.
💡 Imagine assimPense em git checkout -- como o Ctrl+Z para um arquivo inteiro. Se você apagou metade de um texto sem querer, dá para recuperar a partir da última foto (commit) que você tirou. O detalhe importante: você só consegue restaurar o que já foi salvo antes.
Pontos-chave
- git checkout -- filename restaura um arquivo para o estado do último commit
- Isso descarta todas as alterações ainda não commitadas desse arquivo — descarta para sempre
- Por isso commitar com frequência importa: mais commits = mais pontos para restaurar
02 · Prática de terminal
Primeiro, vamos criar um repo git para termos a rede de segurança disponível.
(Esta seção é interativa — ative o JavaScript para usar.)
03 · Prática de terminal
Faça stage do arquivo.
(Esta seção é interativa — ative o JavaScript para usar.)
04 · Prática de terminal
Commit dessa versão que funciona.
(Esta seção é interativa — ative o JavaScript para usar.)
05 · Quiz
Por que commitar com frequência é um bom hábito?
- O git exige pelo menos um commit por hora
- Mais commits = mais pontos de restauração quando algo der errado
- Deixa o repo menor
- Você precisa commitar antes de usar git diff
06 · Prática de terminal
Opa! Sem querer você sobrescreveu o arquivo inteiro com lixo.
(Esta seção é interativa — ative o JavaScript para usar.)
07 · Prática de terminal
Veja o estrago com seus próprios olhos.
(Esta seção é interativa — ative o JavaScript para usar.)
08 · Prática de terminal
Use git checkout para restaurar o arquivo para a versão do último commit. O -- diz ao git que você está se referindo a um arquivo, não a uma branch.
(Esta seção é interativa — ative o JavaScript para usar.)
09 · Quiz
Você apagou sem querer um código importante no app.js, mas ainda não commitou. O que acontece quando você roda git checkout -- app.js?
- Cria uma branch nova chamada app.js
- Apaga o app.js para sempre
- Restaura o app.js para a versão do último commit
- Mostra um diff do que mudou no app.js
Outras lições deste capítulo
⚠ A experiência interativa completa precisa de JavaScript. Ative-o e recarregue a página.
※ Este é um projeto educacional independente — não é um produto oficial da Anthropic. Claude™ é uma marca registrada da Anthropic, PBC.