Do chat para o terminal|INEMA.CLUB-PRO

Aula 6 · 20 min

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.

Começar a aula
Folhas de papel presas em sequência num varal sobre parede escura, ao lado de um notebook.

Nesta aula você vai

  1. 1Começar o histórico só na pasta do projeto
  2. 2Ler o git status e o git diff antes de salvar
  3. 3Salvar uma versão com mensagem que diz o que mudou
  4. 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.

01Mudou, separou, salvou

As três etapas de um arquivo no Git. Clique em cada uma.

Role a página: cada etapa abaixo acende a sua parte do diagrama.

  1. 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. 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. 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. 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/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).

02Do 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\

03Os 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
cmd · olhar, separar e salvar a primeira versão
git add README.md AGENTS.md .gitignore .env.example index.html
git diff --cached
git commit -m "primeira versão"
git log --oneline
cmd · depois que o agente mudou algo
git status
git diff
cmd · não gostou: volte o arquivo
git restore index.html
git status
cmd · gostou: salve a nova versão
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.

04Ensaie: salvar, estragar e voltar

O agente vai mudar o index.html no meio do caminho.

Missões

  1. 1Comece o histórico nesta pasta.
  2. 2Veja o estado dos arquivos.
  3. 3Separe tudo o que não está ignorado.
  4. 4Salve a primeira versão com a mensagem primeira versão.
  5. 5O agente reescreveu a página e você não gostou. Veja o estado.
  6. 6Volte o index.html à última versão salva.
  7. 7Confira que ficou tudo como antes.
Prompt de Comando · simulação

Simulação: códigos e contagens das respostas são de exemplo.

05Prá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.

06Teste 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

Para aprofundar

Aula anteriorPróxima aula