git-workflow-and-versioning
Ajuda seu agente a organizar o trabalho com o Git. Facilita a criação de novas partes do código e a resolução de conflitos.
O que ela faz
Este guia ensina como organizar seu trabalho de programação usando o Git, que é um sistema de controle de versão. Ele ajuda a salvar seu progresso em 'pontos de salvamento' (commits), trabalhar em 'caixas de areia' separadas (branches) e manter um histórico claro do que foi feito.
Quando usar
- ✓Ao começar a trabalhar em uma nova funcionalidade.
- ✓Ao fazer pequenas alterações no código.
- ✓Quando você precisa organizar o trabalho de várias pessoas ou de várias tarefas ao mesmo tempo.
Exemplo do que pedir para a IA
“Como devo salvar meu progresso no código para que eu possa voltar atrás se algo der errado?”
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
O Git permite que você salve seu trabalho em etapas (commits). Cada commit é como um ponto de salvamento. Se você cometer um erro, pode facilmente voltar para um commit anterior. Trabalhar em 'branches' (ramos) permite que você crie versões separadas do seu código para experimentar ou trabalhar em diferentes funcionalidades sem afetar o código principal.
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 sickn33/agentic-awesome-skills --skill git-workflow-and-versioningOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/git-workflow-and-versioning/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.
Fluxo de Trabalho e Versionamento com Git
Visão Geral
O Git é sua rede de segurança. Trate commits como pontos de salvamento, branches como "sandboxes" (ambientes de teste isolados) e o histórico como documentação. Com agentes de IA gerando código em alta velocidade, o controle de versão disciplinado é o mecanismo que mantém as mudanças gerenciáveis, revisáveis e reversíveis.
Quando Usar
Sempre. Toda mudança de código passa pelo Git.
Princípios Fundamentais
Desenvolvimento Baseado em Trunk (Recomendado)
Mantenha o main sempre pronto para deploy. Trabalhe em branches de funcionalidades de curta duração que façam merge de volta em 1-3 dias. Branches de desenvolvimento de longa duração são custos ocultos — eles divergem, criam conflitos de merge e atrasam a integração. Pesquisas da DORA mostram consistentemente que o desenvolvimento baseado em trunk se correlaciona com equipes de engenharia de alta performance.
main ──●──●──●──●──●──●──●──●──●── (always deployable)
╲ ╱ ╲ ╱
●──●─╱ ●──╱ ← short-lived feature branches (1-3 days)
Este é o padrão recomendado. Equipes que usam gitflow ou branches de longa duração podem adaptar os princípios (commits atômicos, pequenas mudanças, mensagens descritivas) ao seu modelo de branching — a disciplina de commit importa mais do que a estratégia de branching específica.
- Branches de desenvolvimento são custos. Todo dia que um branch vive, ele acumula risco de merge.
- Branches de release são aceitáveis. Quando você precisa estabilizar um release enquanto o branch principal avança.
- Feature flags são melhores que branches longos. Prefira fazer deploy de trabalho incompleto por trás de flags em vez de mantê-lo em um branch por semanas.
1. Commite Cedo, Commite Frequentemente
Cada incremento bem-sucedido ganha seu próprio commit. Não acumule grandes mudanças não commitadas.
Work pattern:
Implement slice → Test → Verify → Commit → Next slice
Not this:
Implement everything → Hope it works → Giant commit
Commits são pontos de salvamento. Se a próxima mudança quebrar algo, você pode reverter para o último estado conhecido e funcionando instantaneamente.
2. Commits Atômicos
Cada commit faz uma coisa lógica:
# Good: Each commit is self-contained
git log --oneline
a1b2c3d Add task creation endpoint with validation
d4e5f6g Add task creation form component
h7i8j9k Connect form to API and add loading state
m1n2o3p Add task creation tests (unit + integration)
# Bad: Everything mixed together
git log --oneline
x1y2z3a Add task feature, fix sidebar, update deps, refactor utils
3. Mensagens Descritivas
Mensagens de commit explicam o porquê, não apenas o o quê:
# Good: Explains intent
feat: add email validation to registration endpoint
Prevents invalid email formats from reaching the database.
Uses Zod schema validation at the route handler level,
consistent with existing validation patterns in auth.ts.
# Bad: Describes what's obvious from the diff
update auth.ts
Formato:
<type>: <short description>
<optional body explaining why, not what>
Tipos:
feat— Nova funcionalidadefix— Correção de bugrefactor— Mudança de código que não corrige um bug nem adiciona uma funcionalidadetest— Adicionando ou atualizando testesdocs— Apenas documentaçãochore— Ferramentas, dependências, configuração
4. Mantenha Preocupações Separadas
Não combine mudanças de formatação com mudanças de comportamento. Não combine refatorações com funcionalidades. Cada tipo de mudança deve ser um commit separado — e idealmente um PR separado:
# Good: Separate concerns
git commit -m "refactor: extract validation logic to shared utility"
git commit -m "feat: add phone number validation to registration"
# Bad: Mixed concerns
git commit -m "refactor validation and add phone number field"
Separe refatoração de trabalho de funcionalidade. Uma mudança de refatoração e uma mudança de funcionalidade são duas mudanças diferentes — envie-as separadamente. Isso torna cada mudança mais fácil de revisar, reverter e entender no histórico. Pequenas limpezas (renomear uma variável) podem ser incluídas em um commit de funcionalidade a critério do revisor.
5. Dimensionamento das Mudanças
Mire em cerca de 100 linhas por commit/PR. Mudanças acima de cerca de 1000 linhas devem ser divididas. Veja as estratégias de divisão em code-review-and-quality para saber como quebrar grandes mudanças.
~100 lines → Easy to review, easy to revert
~300 lines → Acceptable for a single logical change
~1000 lines → Split into smaller changes
Estratégia de Branching
Branches de Funcionalidade
main (always deployable)
│
├── feature/task-creation ← One feature per branch
├── feature/user-settings ← Parallel work
└── fix/duplicate-tasks ← Bug fixes
- Faça o branch a partir do
main(ou do branch padrão da equipe)
…
Perguntas frequentes
O que é um 'commit'?
Um commit é um 'ponto de salvamento' do seu código. Ele registra as alterações que você fez em um determinado momento. É como salvar seu jogo.
O que é um 'branch'?
Um branch (ou ramo) é como uma cópia separada do seu código onde você pode trabalhar em novas funcionalidades ou corrigir bugs sem afetar a versão principal. Depois, você pode juntar essas mudanças de volta.
Por que devo fazer commits pequenos e frequentes?
Fazer commits pequenos e frequentes torna mais fácil rastrear o que mudou, entender o histórico e voltar para uma versão anterior se algo der errado. É como salvar seu jogo com frequência em vez de apenas no final.
Detalhes
Descrição original do autor
Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving conflicts, or when you need to organize work across multiple parallel streams.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3127
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC