Git na prática: os comandos que você usa todo dia
Um guia direto dos comandos de Git que resolvem 90% do trabalho diário — e como sair das enrascadas mais comuns sem pânico.

Git é enorme, mas o uso diário cabe num punhado de comandos. Este guia foca no que você realmente repete todo dia — e no que fazer quando algo dá errado, que é onde o pânico costuma bater.
O ciclo básico
Quase todo trabalho segue o mesmo ritmo: alterar, revisar, agrupar e registrar.
# o que mudou?
git status
git diff
# agrupa as mudanças que vão no commit
git add arquivo.ts
# registra com uma mensagem clara
git commit -m "Corrige cálculo de frete para pedidos internacionais"Escreva mensagens no imperativo e explicando o porquê, não o o quê. O diff já mostra o que mudou; a mensagem deve dizer a intenção.
Branches: trabalhe sem medo
Nunca desenvolva direto na branch principal. Crie uma branch por tarefa:
# cria e já muda para a nova branch
git switch -c feature/login-social
# volta para a principal
git switch main
# lista as branches
git branchBranches são baratas em Git. Crie uma para cada tarefa, por menor que seja — isso mantém seu trabalho isolado e fácil de descartar se der errado.
Sincronizando com o remoto
# traz as novidades do remoto sem mesclar
git fetch
# traz e integra na sua branch atual
git pull
# envia sua branch para o remoto
git push -u origin feature/login-socialMerge ou rebase?
Ambos integram mudanças de uma branch em outra, mas contam histórias diferentes. O merge preserva o histórico real, criando um commit de junção. O rebase reescreve seus commits como se tivessem nascido a partir do topo atual, deixando a linha do tempo reta.
Use rebase na sua branch local, antes de compartilhar, para um histórico limpo.
Use merge para integrar trabalho já compartilhado — reescrever histórico público confunde todo mundo.
A regra de ouro: nunca faça rebase de commits que já foram enviados e que outras pessoas podem ter baixado.
Saindo de enrascadas
Commitei na branch errada
# desfaz o último commit, mantendo as mudanças no diretório
git reset --soft HEAD~1
# agora troque de branch e commite de novoPreciso desfazer mudanças não commitadas
# descarta alterações de um arquivo (irreversível!)
git restore arquivo.ts
# guarda tudo temporariamente sem commitar
git stash
git stash pop # traz de volta depoisQuero ver o que aconteceu
# histórico compacto
git log --oneline --graph --decorate
# quem alterou cada linha de um arquivo
git blame arquivo.tsDomine esses comandos e você resolve a esmagadora maioria do trabalho diário com Git. O resto — cherry-pick, bisect, reflog — você aprende quando precisar, e aí já terá a base para entender o que está acontecendo.

