git-workflow
Define fluxos de trabalho Git eficientes, incluindo estratégias de branch, convenções de commit e resolução de conflitos.
O que ela faz
Este guia ensina as melhores práticas para usar o Git, um sistema de controle de versão. Ele explica como organizar o histórico do seu código, escrever mensagens claras para suas alterações e escolher a melhor forma de trabalhar em equipe.
Quando usar
- ✓Ao iniciar um novo projeto e definir como o código será gerenciado.
- ✓Ao decidir qual estratégia de organização de código (como GitHub Flow ou GitFlow) usar.
- ✓Ao escrever mensagens para descrever as alterações feitas no código.
Exemplo do que pedir para a IA
“Como posso organizar meu projeto usando o Git Flow?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele oferece diferentes modelos de organização, como o GitHub Flow (simples e bom para a maioria) e o GitFlow (mais complexo, para projetos com lançamentos planejados). Também ensina a escrever mensagens de 'commit' seguindo um padrão claro.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add affaan-m/ECC --skill git-workflowOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/pi/core/skills/git-workflow/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Padrões de Fluxo de Trabalho do Git
Melhores práticas para controle de versão do Git, estratégias de ramificação e desenvolvimento colaborativo.
Quando Ativar
- Configurando o fluxo de trabalho do Git para um novo projeto
- Decidindo sobre a estratégia de ramificação (GitFlow, baseado em trunk, fluxo do GitHub)
- Escrevendo mensagens de commit e descrições de PR
- Resolvendo conflitos de merge
- Gerenciando releases e tags de versão
- Integrando novos membros da equipe às práticas do Git
Estratégias de Ramificação
Fluxo do GitHub (Simples, Recomendado para a Maioria)
Melhor para implantação contínua e equipes de pequeno a médio porte.
main (protected, always deployable)
│
├── feature/user-auth → PR → merge to main
├── feature/payment-flow → PR → merge to main
└── fix/login-bug → PR → merge to main
Regras:
mainestá sempre pronto para implantação- Crie branches de funcionalidade a partir de
main - Abra um Pull Request quando estiver pronto para revisão
- Após aprovação e passagem do CI, faça o merge para
main - Implante imediatamente após o merge
Desenvolvimento Baseado em Trunk (Equipes de Alta Velocidade)
Melhor para equipes com CI/CD forte e flags de funcionalidade.
main (trunk)
│
├── short-lived feature (1-2 days max)
├── short-lived feature
└── short-lived feature
Regras:
- Todos fazem commit no
mainou em branches de vida muito curta - Flags de funcionalidade ocultam trabalho incompleto
- O CI deve passar antes do merge
- Implante várias vezes por dia
GitFlow (Complexo, Orientado por Ciclo de Lançamento)
Melhor para lançamentos agendados e projetos corporativos.
main (production releases)
│
└── develop (integration branch)
│
├── feature/user-auth
├── feature/payment
│
├── release/1.0.0 → merge to main and develop
│
└── hotfix/critical → merge to main and develop
Regras:
maincontém apenas código pronto para produçãodevelopé o branch de integração- Branches de funcionalidade a partir de
develop, faça o merge de volta paradevelop - Branches de release a partir de
develop, faça o merge paramainedevelop - Branches de hotfix a partir de
main, faça o merge paramainedevelop
Quando Usar Qual
| Estratégia | Tamanho da Equipe | Cadência de Lançamento | Melhor Para |
|---|---|---|---|
| Fluxo do GitHub | Qualquer | Contínuo | SaaS, aplicativos web, startups |
| Baseado em Trunk | 5+ experientes | Múltiplas/dia | Equipes de alta velocidade, flags de funcionalidade |
| GitFlow | 10+ | Agendado | Corporativo, indústrias regulamentadas |
Mensagens de Commit
Formato de Commits Convencionais
<type>(<scope>): <subject>
[optional body]
[optional footer(s)]
Tipos
| Tipo | Usar Para | Exemplo |
|---|---|---|
feat |
Nova funcionalidade | feat(auth): add OAuth2 login |
fix |
Correção de bug | fix(api): handle null response in user endpoint |
docs |
Documentação | docs(readme): update installation instructions |
style |
Formatação, sem alteração de código | style: fix indentation in login component |
refactor |
Refatoração de código | refactor(db): extract connection pool to module |
test |
Adicionando/atualizando testes | test(auth): add unit tests for token validation |
chore |
Tarefas de manutenção | chore(deps): update dependencies |
perf |
Melhoria de performance | perf(query): add index to users table |
ci |
Alterações de CI/CD | ci: add PostgreSQL service to test workflow |
revert |
Reverter commit anterior | revert: revert "feat(auth): add OAuth2 login" |
Bons vs Maus Exemplos
# BAD: Vague, no context
git commit -m "fixed stuff"
git commit -m "updates"
git commit -m "WIP"
# GOOD: Clear, specific, explains why
git commit -m "fix(api): retry requests on 503 Service Unavailable
The external API occasionally returns 503 errors during peak hours.
Added exponential backoff retry logic with max 3 attempts.
Closes #123"
Modelo de Mensagem de Commit
Crie .gitmessage na raiz do repositório:
# <type>(<scope>): <subject>
# # Types: feat, fix, docs, style, refactor, test, chore, perf, ci, revert
# Scope: api, ui, db, auth, etc.
# Subject: imperative mood, no period, max 50 chars
#
# [optional body] - explain why, not what
# [optional footer] - Breaking changes, closes #issue
Habilite com: git config commit.template .gitmessage
Merge vs Rebase
Merge (Preserva o Histórico)
# Creates a merge commit
git checkout main
git merge feature/user-auth
# Result:
# * merge commit
# |\
# | * feature commits
# |/
# * main commits
Use quando:
- Fazer merge de branches de funcionalidade no
main - Você quer preservar o histórico exato
- Várias pessoas trabalharam no branch
…
Perguntas frequentes
O que é um 'commit'?
Um 'commit' é como um 'salvar' no seu projeto, registrando um conjunto de alterações feitas no código em um determinado momento.
Qual a diferença entre 'merge' e 'rebase'?
'Merge' junta o histórico de dois ramos, criando um registro de quando eles foram unidos. 'Rebase' reorganiza suas alterações para que pareçam ter sido feitas após as alterações mais recentes de outro ramo, criando um histórico mais linear.
Por que usar 'Conventional Commits'?
Ajuda a entender rapidamente o que cada alteração faz (se é uma nova funcionalidade, um conserto de erro, etc.) e facilita a automação de tarefas como a geração de notas de lançamento.
Detalhes
Descrição original do autor
Git workflow patterns including branching strategies, commit conventions, keeping history clean and readable, tidying local commits before merging, merge vs rebase, conflict resolution, and collaborative development best practices for teams of all sizes. Use when choosing a branching strategy, writing commit conventions, cleaning up history before a pull request, deciding merge versus rebase, or r
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #60
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
git-workflow-and-versioning
Organiza o trabalho de código usando o Git. Ajuda a salvar o progresso, gerenciar diferentes versões e evitar conflitos ao trabalhar em equipe.
addyosmani/agent-skills
observability-and-instrumentation
Adiciona ferramentas para monitorar o que o código faz em produção. Ajuda a entender se algo deu errado e por quê, facilitando a correção.
addyosmani/agent-skills
github-pr-workflow
Prepara pull requests no GitHub, garantindo a qualidade do código e a documentação.
paperclipai/paperclip