Criação de Apps

Git no dia a dia: commit, branch e como desfazer erros sem pânico

Resposta rápida

No dia a dia com Git, o ciclo é: ver o que mudou com git status, escolher arquivos com git add, gravar com git commit e enviar com git push. Para trabalhar sem risco, crie uma branch com git switch -c. Para desfazer, git restore descarta alterações não gravadas e git revert cria um commit que anula outro já feito.

Neste artigo
  1. O modelo mental: três áreas
  2. O ciclo básico em quatro comandos
  3. Boas mensagens de commit
  4. Branches: trabalhar sem mexer no que funciona
  5. Como desfazer, de acordo com a situação
  6. Quando algo parece perdido
  7. Arquivos que não devem entrar
  8. Hábitos que facilitam a vida

Quem aprende Git costuma decorar comandos soltos e travar na primeira situação fora do roteiro. Na prática, o uso diário gira em torno de poucos comandos e de um raciocínio simples. Com ele, você também aprende a voltar atrás sem medo, que é justamente o que o Git foi feito para oferecer.

O básico do que é Git e GitHub está em Git e GitHub para iniciantes. Aqui o foco é o uso cotidiano.

O modelo mental: três áreas

Entender onde as alterações estão evita a maior parte das confusões:

  1. Pasta de trabalho: seus arquivos como estão agora, com as edições que você fez.
  2. Área de preparação (stage): as alterações que você escolheu para entrar no próximo commit.
  3. Histórico (repositório): os commits já gravados.

Você edita na pasta de trabalho, escolhe o que preparar e grava no histórico. Cada comando mexe em uma dessas áreas.

O ciclo básico em quatro comandos

  1. git status: mostra o que foi modificado, o que está preparado e o que ainda não é rastreado. Use o tempo todo; é o seu painel.
  2. git add arquivo: coloca as alterações do arquivo na área de preparação. Para tudo de uma vez, use um ponto no lugar do nome, mas confira antes com o status o que será incluído.
  3. git commit -m "mensagem": grava no histórico o que está preparado, com a mensagem que descreve a mudança.
  4. git push: envia os commits para o repositório remoto, como o do GitHub.

Para ver o histórico, git log; para ver o que mudou, git diff, que mostra as linhas alteradas ainda não preparadas.

Boas mensagens de commit

Uma boa mensagem economiza muito tempo no futuro:

  • escreva no tempo verbal que preferir, mas mantenha o padrão (por exemplo, “corrige”, “adiciona”, “remove”);
  • seja específico: “corrige cálculo de frete para CEP sem número” diz muito mais que “ajustes”;
  • um commit por assunto: não misture correção de bug com mudança de visual.

Branches: trabalhar sem mexer no que funciona

Uma branch (ramo) é uma linha paralela de commits. A principal costuma se chamar main. Quando você vai criar um recurso ou testar algo arriscado, cria uma branch, trabalha nela e só junta à principal quando estiver pronto.

Comandos principais:

  • git switch -c nome-da-branch: cria e muda para uma nova branch;
  • git switch nome: muda de branch;
  • git branch: lista as branches;
  • git merge nome: junta uma branch à atual.

Se duas branches mexerem na mesma linha, aparece um conflito. Isso tem solução tranquila, explicada em conflito de merge no Git: como resolver.

Mesmo trabalhando sozinho, vale usar branches para testar ideias. Se não gostar do resultado, você volta à main e apaga a branch.

Como desfazer, de acordo com a situação

A pergunta certa é: em que ponto está a alteração que você quer desfazer?

Mudei um arquivo e quero descartar a alteração

Se ainda não fez commit, o comando é git restore nome-do-arquivo. Ele traz o arquivo de volta ao último estado gravado. Atenção: o que você editou e não gravou é perdido, sem como recuperar.

Preparei com add e me arrependi

Use git restore --staged nome-do-arquivo. O arquivo sai da área de preparação, mas a edição continua na pasta de trabalho.

Fiz o commit e vi um erro na mensagem ou esqueci um arquivo

Se ainda não deu push, git commit --amend altera o último commit. Evite usar depois de ter enviado, porque reescreve o histórico.

Quero desfazer um commit que já foi para o repositório

Use git revert seguido do identificador do commit (você o vê com git log). Ele cria um novo commit que faz o inverso do anterior. O histórico fica preservado, o que é o mais seguro quando outras pessoas já baixaram o código.

Quero voltar vários commits atrás

O git reset faz isso, mas é poderoso e potencialmente destrutivo, principalmente a variante com a opção de descartar alterações. Use só em commits que você ainda não enviou, e tenha certeza do que faz. Em caso de dúvida, crie uma branch de backup antes (git branch backup) e então experimente.

Quando algo parece perdido

O Git guarda mais do que parece. O git reflog mostra os movimentos recentes do repositório, incluindo commits que pareciam sumidos depois de um reset. Se você já gravou algo, quase sempre é possível recuperar. O que é muito difícil recuperar é o que nunca foi commitado.

Por isso o melhor seguro é commitar com frequência. Com ou sem IA no processo, faça um commit antes de uma mudança grande (veja assistente de código com IA).

Arquivos que não devem entrar

O arquivo .gitignore lista o que o Git deve ignorar: senhas, a pasta de dependências, arquivos temporários e do sistema. Crie-o no começo do projeto. Se um arquivo já foi commitado antes de entrar no .gitignore, ele continua sendo rastreado até você removê-lo do controle do Git.

Hábitos que facilitam a vida

  • Commite pequeno e com frequência.
  • Rode git status antes de qualquer coisa.
  • Use uma branch para cada assunto.
  • Faça push no fim do dia: o repositório remoto também é um backup.
  • Em dúvida antes de um comando destrutivo, pare e crie uma branch de segurança.

Com esse conjunto, você usa o Git como rede de proteção, não como fonte de medo. Pratique em um projeto de teste: crie um arquivo, faça commits, crie uma branch, erre de propósito e desfaça. Dois ou três exercícios assim dão a confiança de que falta.

  • Git
  • Programação
  • Controle de versão

Perguntas frequentes

Qual a diferença entre git revert e git reset?

O revert cria um novo commit que desfaz as mudanças de um commit anterior, preservando o histórico, e é o mais seguro para código já compartilhado. O reset move o histórico para trás e pode apagar commits, por isso exige mais cuidado.

Com que frequência devo fazer commit?

Sempre que completar uma unidade de trabalho que funciona, como uma correção ou um recurso pequeno. Commits pequenos e frequentes facilitam encontrar erros e desfazer só o que deu problema.

O que escrever na mensagem de commit?

Uma frase curta e direta dizendo o que mudou e, se possível, por quê, como ‘corrige cálculo de desconto no carrinho’. Evite mensagens vagas como ‘ajustes’ ou ‘alterações’, que não ajudam a achar nada depois.

Leia também

Criação de Apps

Assistente de código com IA: autocompletar, chat e agente

Os três tipos de assistente de código com IA, para que serve cada um e como usar sem perder o controle do projeto.

· 5 min de leitura
Criação de Apps

Conflito de merge no Git: o que significa e como resolver

O que fazer quando o Git avisa que não conseguiu juntar duas versões do mesmo arquivo.

· 5 min de leitura
Criação de Apps

Git e GitHub para iniciantes: o que são e como usar

O que cada um faz, os comandos essenciais e o fluxo mais simples para guardar o histórico dos seus códigos.

· 5 min de leitura
Criação de Apps

Variáveis de ambiente e arquivo .env: senhas fora do código

O jeito certo de guardar chaves de API, senhas de banco e outros segredos do seu projeto.

· 5 min de leitura

Deixe seu comentário