Pular para o conteúdo
Cursos

DevClub

LógicaFront-endBack-endMobile

IA Club

IA na prática
Estudar programaçãoEstudar IA

Aula 2 de 6

Crie o repositório e monte commits pelo stage

Inicialize uma pasta, acompanhe arquivos da working tree ao stage e grave três commits pequenos, conferindo o hash e o conteúdo antes de cada registro.

35 minutos · leitura + prática · nível iniciante

Ao terminar esta aula, você vai conseguir

  • Criar um repositório com branch main
  • Explicar working tree, stage e histórico
  • Preparar e revisar um commit coerente

Nesta aula você transforma uma pasta comum em repositório e produz três commits que contam uma história. O resultado não é apenas um log com três linhas: você consegue explicar qual versão estava na bancada, qual foi selecionada e qual entrou no histórico.

Crie um laboratório descartável. Assim, errar não ameaça um projeto real:

bash
LAB=$(mktemp -d /tmp/curso-git.XXXXXX)
git init -b main "$LAB/catalogo"
cd "$LAB/catalogo"

git init cria .git e não cria arquivos de aplicação. Pense em três áreas. A working tree é a bancada onde você edita. O stage é a seleção exata do próximo retrato. O repositório é o arquivo de commits. O stage não move um arquivo fisicamente; ele registra o conteúdo escolhido no índice.

Crie README.md, catalogo.txt e notas.txt com seu editor. O status curto deve marcar os três com ??, ainda não rastreados:

bash
git status --short

Prepare somente README e catálogo. Deixar notas de fora é a decisão didática que prova por que o stage existe:

bash
git add README.md catalogo.txt
git status --short
git diff --cached --stat

As letras A aparecem na coluna do stage. notas.txt continua com ??. git diff --cached compara a seleção ao último commit; como ainda não existe commit, mostra tudo que será a raiz.

Configure nome e e-mail local de exercício se necessário e grave:

bash
git config user.name "Aluno Git"
git config user.email "aluno@example.test"
git commit -m "docs: inicia catálogo"

Leia a resposta: root-commit, hash curto, quantidade de arquivos e linhas. Não copie o hash de outra pessoa; ele depende de conteúdo e metadados. Faça uma segunda mudança apenas no catálogo, revise o patch e use a mensagem feat: adiciona primeiro livro. Na terceira, melhore as instruções do README.

O erro mais comum é executar commit com apenas arquivos untracked. A mensagem termina com nothing added to commit but untracked files present. Ela não diz que Git quebrou. Diz que nada chegou ao stage. Decida se o arquivo pertence ao projeto antes de executar add. Não adicione tudo apenas para remover o aviso.

Outra situação importante é MM: você preparou um arquivo e depois editou novamente. A primeira letra representa o stage; a segunda, working tree. O commit leva a versão preparada. Rode add de novo somente se a edição recente pertence à mesma decisão.

Ao final, confira:

bash
git status --short
git --no-pager log --oneline -3

Status limpo significa que toda mudança rastreada está representada ou foi descartada conscientemente. Não significa que o código funciona; testes ainda são necessários. O log precisa permitir reconstruir intenção sem abrir cada arquivo.

Use o laboratório de prompt como ensaio. Ele não executa Git nem envia texto a uma API; apenas ajuda a verificar se sua sequência declara contexto, regras e resultado. Depois execute os comandos no terminal real. A aula termina quando você consegue prever o status antes de rodá-lo e explicar por que git add . é uma conveniência que exige revisão.

Analisador local

Planeje a sequência do primeiro commit

Escreva a sequência de comandos para criar uma pasta de catálogo, inicializar o Git em main, preparar apenas README.md e conferir o stage antes do primeiro commit.

Pronto para analisar
468 caracteres

Edite o texto e procure deixar explícitos os cinco sinais estruturais. Pressione Ctrl + Enter ou ⌘ + Enter para analisar.

Leitura da estrutura

5 sinais

Checagem estrutural local: o texto não sai do navegador e nenhuma API é chamada. O resultado não avalia a resposta que uma IA daria.

Analise o prompt para conferir os sinais.

  • Tarefa ou objetivoDiz o que deve ser feito e qual resultado é esperado.
    Não verificado
  • Contexto ou dadosApresenta cenário, público, entrada ou material de referência.
    Não verificado
  • Regras ou limitesDefine restrições, prioridades e o que deve ser evitado.
    Não verificado
  • Formato de saídaExplica como organizar e apresentar a resposta.
    Não verificado
  • Informação ausenteOrienta o que fazer quando faltarem dados, sem inventar.
    Não verificado

Pare e pense

Qual conteúdo entra num git commit comum?

Escolha uma resposta
Missão da aula

Faça sem copiar

Crie três commits que contem uma história de catálogo e termine com git status limpo e git log --oneline em ordem compreensível.

Fontes para consultar

Terminou a missão?

Marque apenas quando você conseguir explicar o conceito e concluir o desafio. O progresso fica salvo somente neste navegador.

Próxima: Leia status, diff e log e configure o .gitignore →