// branching, commits e comandos essenciais
Guia completo de Git para o dia a dia: estratégias de branching, conventional commits, comandos mais usados e fluxos de trabalho profissionais.
// os comandos que você mais vai usar
Referência rápida dos comandos Git fundamentais organizados por categoria.
git initInicializa um repositório Git no diretório atualgit clone <url>Clona um repositório remotogit statusMostra o estado dos arquivos (modificados, staged, untracked)git add <arquivo>Adiciona arquivo ao staging areagit add .Adiciona todos os arquivos modificadosgit commit -m "msg"Cria um commit com mensagemgit branchLista branches locaisgit branch <nome>Cria nova branchgit checkout <branch>Troca para outra branchgit checkout -b <nome>Cria e troca para nova branchgit branch -d <nome>Deleta branch localgit merge <branch>Merge de outra branch na atualgit pushEnvia commits para o remotogit push -u origin <branch>Push e define upstream da branchgit pullPuxa e faz merge das mudanças remotasgit fetchBaixa mudanças remotas sem mergegit remote -vLista repositórios remotosgit log --onelineHistórico compacto de commitsgit log --graphHistórico visual com branchesgit diffMostra diferenças não stagedgit diff --stagedMostra diferenças já stagedgit blame <arquivo>Mostra quem alterou cada linhagit restore <arquivo>Descarta mudanças não stagedgit restore --staged <arquivo>Remove do staging areagit reset HEAD~1Desfaz último commit mantendo mudançasgit reset --hard HEAD~1Desfaz último commit e descarta tudogit stashSalva mudanças temporariamentegit stash popRestaura mudanças do stash// organize seu fluxo de desenvolvimento
As principais estratégias de branching usadas em equipes profissionais.
Modelo robusto com branches dedicadas para features, releases e hotfixes. Ideal para projetos com ciclos de release definidos.
Projetos com releases planejadas
Modelo simplificado: main + feature branches com Pull Requests. Perfeito para deploy contínuo.
SaaS e projetos com deploy contínuo
Todo mundo commita direto na main (ou em branches muito curtas). Foco em integração contínua real.
Equipes maduras com bom CI/CD
// mensagens de commit padronizadas
Padrão para mensagens de commit que facilita changelogs automáticos, versionamento semântico e histórico legível.
tipo(escopo?): descriçãoNova funcionalidade
feat(auth): add login with GoogleCorreção de bug
fix(cart): resolve quantity update issueDocumentação
docs(readme): update installation guideFormatação (sem mudança de lógica)
style(button): fix indentationRefatoração de código
refactor(api): simplify error handlingTestes
test(user): add unit tests for signupTarefas de manutenção
chore(deps): update dependenciesMelhoria de performance
perf(query): optimize database queries// fluxos do dia a dia
Passo a passo dos fluxos de trabalho mais comuns no Git.
git checkout maingit pull origin maingit checkout -b feature/nome-da-feature# Desenvolva e faça commits...git push -u origin feature/nome-da-feature# Abra um Pull Requestgit checkout feature/minha-featuregit merge main# Resolva os conflitos nos arquivos marcadosgit add .git commit -m "fix: resolve merge conflicts"git pushgit checkout maingit pull origin maingit checkout -b hotfix/descricao-do-bug# Corrija o buggit commit -m "fix: descricao do bug"git push -u origin hotfix/descricao-do-bug# Abra PR para main e develop# Manter mudanças (unstaged)git reset HEAD~1# Manter mudanças (staged)git reset --soft HEAD~1# Descartar tudogit reset --hard HEAD~1// atalhos e aliases úteis
Aliases e configurações para acelerar seu workflow no Git.
git coAtalho para checkoutgit config --global alias.co checkoutgit brAtalho para branchgit config --global alias.br branchgit ciAtalho para commitgit config --global alias.ci commitgit stAtalho para statusgit config --global alias.st statusgit lgLog visual compactogit config --global alias.lg "log --oneline --graph --all"git commit --amendEdita o último commitgit rebase -i HEAD~3Rebase interativo dos últimos 3 commitsgit cherry-pick <hash>Aplica um commit específico na branch atualgit bisect startBusca binária para encontrar commit com buggit reflogHistórico de todas as operações (mesmo resets)git clean -fdRemove arquivos untracked e diretórios