Git: a rede de segurança para desfazer qualquer mudança
Numa tarefa, o agente pode mudar dez arquivos de uma vez. Sem histórico, você não sabe o que mudou nem como voltar. Com o Git, cada versão boa fica guardada com data e explicação, e a mudança que você não aprovou volta com um comando.
3Salvar uma versão com mensagem que diz o que mudou
4Voltar um arquivo com git restore e desfazer uma versão com git revert
Objetivo: salvar versões com status, add, diff e commit e desfazer uma mudança do agente com git restore, sem pânico.
01 · Mudou, separou, salvou
As três etapas de um arquivo no Git. Clique em cada uma.
Aula 601 · Mudou, separou, salvouAs três etapas de um arquivo no Git. Clique em cada uma.
Regra de ouro: commit antes de pedir uma mudança grande
1/5
Na pasta
O agente criou ou mudou arquivos. O git status mostra cada um: "Untracked files" são os que o Git ainda não acompanha; "Changes not staged" são mudanças ainda não separadas.
Role a página: cada etapa abaixo acende a sua parte do diagrama.
1/5
Na pasta
O agente criou ou mudou arquivos. O git status mostra cada um: "Untracked files" são os que o Git ainda não acompanha; "Changes not staged" são mudanças ainda não separadas.
2/5
Separado
O git add com o nome do arquivo separa só ele para a próxima versão (o Git chama de staging). git diff --cached mostra, linha por linha, o que vai entrar.
3/5
Versão salva
O commit grampeia o que foi separado. A mensagem é a legenda da foto: verbo e objeto, como "Acrescenta seção de contato". "update" não diz nada daqui a um mês.
4/5
Voltar
Mudança ainda não salva: git restore volta o arquivo à última versão salva (e descarta o que mudou). Versão já salva: git revert cria uma versão nova que desfaz a anterior, sem apagar a história.
5/5
O ciclo com o agente
Commit antes de pedir. O agente muda. Você olha com status e diff. Gostou: add e commit. Não gostou: restore. Cada versão boa vira um ponto de volta.
O Git roda só no seu computador, sem internet. O GitHub é outro passo, opcional (aula 8).
02 · Do git init ao primeiro desfazer
Clique em cada etapa.
1. Começar o histórico
Dentro de meu-primeiro-agente, git init cria o histórico. Nunca na sua pasta pessoal inteira.
git config user.name e user.email, sem --global, dizem quem salva, só neste projeto. O e-mail aparece em cada versão e fica visível se a pasta for publicada.
RespondeInitialized empty Git repository in …\meu-primeiro-agente\.git\
2. Olhar antes
git status diz em que etapa cada arquivo está. Rode sempre antes de separar qualquer coisa.
Aqui o .gitignore da aula 5 se prova: o .env não aparece na lista.
ProcureAGENTS.md, README.md, .gitignore, .env.example… e nenhum .env.
3. Salvar
Para aprender, nomeie os arquivos no git add. O atalho git add . separa tudo o que não está ignorado, inclusive a anotação pessoal esquecida na pasta.
git log --oneline mostra a lista curta das versões, uma por linha.
Boa mensagemCria README, AGENTS.md e lista do que não guardar
4. Desfazer
Só no arquivo, sem salvar: git restore arquivo. Numa versão salva: git revert com o código da versão, que aparece no log.
Confira o arquivo aberto, não só a resposta do terminal.
Errata, não rasuraO revert corrige e deixa as três versões no histórico.
03 · Os comandos do Git
Na pasta meu-primeiro-agente. Troque o que estiver entre < >.
cmd · começar e dizer quem é você (só nesta pasta)
cd %USERPROFILE%\projetos\meu-primeiro-agente
git init
git config user.name "<Seu Nome>"
git config user.email "<seu@email.com>"
git status
git add index.html
git commit -m "<o que mudou, com verbo>"
cmd · desfazer uma versão já salva
git log --oneline
git revert <código da versão>
Simulação: exemplo ilustrativo
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.example
.gitignore
AGENTS.md
README.md
index.html
"Untracked files" = fora do histórico. O .env não está na lista: o .gitignore funcionou.
Untracked files: arquivos que o Git ainda não acompanha.
Changes to be committed: separados, entram na próxima versão.
Changes not staged: mudaram, mas não foram separados.
nothing to commit, working tree clean: nada mudou desde a última versão.
git init na pasta pessoal: o Git passa a olhar Documentos, Downloads, tudo. Rode cd antes e confira o caminho.
Pular o Git: a primeira mudança ruim do agente vira retrabalho manual.
"Please tell me who you are": faltou o git config de nome e e-mail.
04 · Ensaie: salvar, estragar e voltar
O agente vai mudar o index.html no meio do caminho.
Missões
1Comece o histórico nesta pasta.
2Veja o estado dos arquivos.
3Separe tudo o que não está ignorado.
4Salve a primeira versão com a mensagem primeira versão.
5O agente reescreveu a página e você não gostou. Veja o estado.
6Volte o index.html à última versão salva.
7Confira que ficou tudo como antes.
Prompt de Comando · simulação
Simulação: códigos e contagens das respostas são de exemplo.
05 · Prática
Na pasta meu-primeiro-agente, com o agente aberto numa outra janela do cmd.
E11 · A rede de segurança
20 min
git init, config, status, add e commit. Peça ao agente uma mudança grande na página e, se não gostar, volte com git restore.
Pronto quando: você desfez uma mudança do agente com um comando, e git status diz "working tree clean".
E12 · Três versões com legenda
15 min
Peça duas mudanças pequenas e salve cada uma com uma mensagem que diz o que mudou. Depois desfaça a última com git revert.
Pronto quando:git log --oneline mostra as versões com mensagens claras, incluindo a do revert, e a página voltou ao que era.
06 · Teste o que aprendeu
A explicação aparece depois da sua resposta.
Pergunta 1 de 4
O agente fez uma mudança grande que você não aprovou, e você ainda não salvou nada depois dela. O que fazer?competência
Correto
Com um commit antes da mudança, git restore volta o arquivo em um comando. Por isso: commit antes de pedir mudança grande.
Não é essa
Com um commit antes da mudança, git restore volta o arquivo em um comando. Por isso: commit antes de pedir mudança grande.Rever: Ensaie: salvar, estragar e voltar
Pergunta 2 de 4
Por que nomear os arquivos no git add em vez de usar sempre git add .?
Correto
O ponto separa tudo o que não está ignorado, inclusive uma anotação pessoal esquecida. Use o atalho só depois de conferir no status.
Não é essa
O ponto separa tudo o que não está ignorado, inclusive uma anotação pessoal esquecida. Use o atalho só depois de conferir no status.Rever: Do git init ao primeiro desfazer
Pergunta 3 de 4
Qual destas mensagens de commit ajuda você daqui a um mês?
Correto
Verbo e objeto: a lista de versões já responde o que mudou, sem abrir arquivo.