Rullst AcademyRullst Academy/Lição
Git: cada mudança conta · Lição 08 / 10

Corrigir sem apagar o caminho

Nem toda correção deve apagar o que aconteceu. Vamos retirar uma seleção do staging e depois desfazer um commit com outro commit.

Trilhas de aprendizado14 min

Vamos descobrir juntos

  1. 1

    Depois de concluir o merge e conferir status limpo, acrescente camera em ideas.txt, salve e faça add. Você percebe que ainda quer revisar: git restore --staged -- ideas.txt tira a seleção do staging, usando o último commit como referência.

  2. 2

    O arquivo de trabalho mantém camera. Confira com o editor e git diff. A opção --staged importa: restore sem ela pode substituir o arquivo de trabalho e descartar uma edição. Não troque esses comandos por tentativa.

  3. 3

    Para o segundo experimento, prepare de novo e registre Add camera. Agora a alteração está no histórico. Em uma oficina limpa, git revert --no-edit HEAD cria um commit que desfaz a mudança do último commit comum. Aqui HEAD deve ser Add camera, não o commit de merge.

  4. 4

    O commit original continua no log; o novo registra a correção. Revert também pode ter conflitos em outras situações; pare e leia status se isso acontecer. Não é uma ferramenta para remover segredos de commits antigos.

GIT · .md

Seu laboratório de mudanças

Os experimentos desta página mostram saídas preparadas. Para executar comandos de verdade, use uma pasta nova de treino no computador e o guia incluído em “Baixar atividade”. Leia as instruções antes de cada comando.

Meus arquivos e GitHub

O editor abaixo guarda suas anotações em Markdown neste navegador. Baixe uma cópia para levá-las a outro aparelho. Enviar esse arquivo ao GitHub não envia o histórico .git do seu computador.

DA LIÇÃO PARA A PRÁTICA

Guia para acompanhar no seu ritmo

Leia os passos antes de usar a referência abaixo. Comandos são executados no terminal do sistema indicado; o cadastro acontece no site oficial. Os exercícios da Rullst Academy são treino e não verificam sua instalação ou conta externa.

git restore --staged -- ideas.txt
git diff -- ideas.txt
git add ideas.txt
git commit -m "Add camera"
git status
git log -1 --oneline
git revert --no-edit HEAD
git log -2 --oneline

Links oficiais e próximo passo

✦
SUA MISSÃO

Distinguir restore --staged de revert e preservar arquivos/histórico.

Agora é a sua vez

Oficina de descobertas

Leia o estado, escolha o próximo passo

Primeiro, camera foi acrescentado, salvo e preparado em ideas.txt: retiramos somente da preparação. Depois, em outro momento da oficina, essa edição já virou o commit Add camera e git revert --no-edit HEAD já terminou; consultamos a mensagem do novo commit. Saídas preparadas.
Mini experimento

Simulação didática: compare os cartões e confira suas previsões. O navegador não está compilando Rust nem iniciando um servidor.

git restore --staged -- ideas.txt
git status --short -- ideas.txt
Monte suas respostas e confira quando estiver pronto.
Uma pausa para entender

O que revert faz neste exemplo?

Preciso de uma pista

Revert registra uma mudança inversa; não elimina o commit anterior.

Carregando sua jornada…

Leve com você

Confira que camera continua no arquivo após unstage e que desaparece após reverter o commit Add camera. Compare a contagem de commits antes/depois: revert deve acrescentar um.

No seu ritmo

Meus arquivos e GitHub

Toda lição pode virar um registro seu: código, anotações ou um plano de prática. Guardar um arquivo no GitHub é opcional e não altera seu XP.

Manual do aluno

O editor e os downloads abrem quando esta lição estiver liberada para sua conta. Confira o acesso abaixo ou volte ao mapa da trilha.

Conferindo seu acesso à lição…

Rullstpetbot

A IA pode errar. Confira no material da lição.