git-advanced-workflows
Ajuda seu agente a usar o Git de forma avançada. Ele mantém o histórico do projeto limpo e ajuda a recuperar de qualquer situação.
O que ela faz
Esta ferramenta ajuda a gerenciar o histórico do Git de forma avançada. Ela permite organizar commits, aplicar mudanças específicas entre projetos e encontrar erros rapidamente.
Quando usar
- ✓Organizar o histórico de commits antes de juntar códigos.
- ✓Aplicar uma correção específica de um projeto para outro.
- ✓Descobrir qual alteração causou um problema no código.
Exemplo do que pedir para a IA
“Como posso reorganizar os últimos 5 commits para corrigir mensagens e juntar alguns deles?”
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
Ela usa comandos avançados do Git como 'rebase' para editar o histórico, 'cherry-pick' para copiar commits e 'bisect' para encontrar bugs. Também ajuda a gerenciar múltiplos trabalhos ao mesmo tempo com 'worktrees' e a recuperar arquivos perdidos com 'reflog'.
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 wshobson/agents --skill git-advanced-workflowsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/developer-essentials/skills/git-advanced-workflows/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.
Fluxos de Trabalho Avançados do Git
Domine técnicas avançadas do Git para manter um histórico limpo, colaborar de forma eficaz e se recuperar de qualquer situação com confiança.
Quando Usar Esta Habilidade
- Limpar o histórico de commits antes de mesclar
- Aplicar commits específicos entre branches
- Encontrar commits que introduziram bugs
- Trabalhar em várias funcionalidades simultaneamente
- Recuperar-se de erros do Git ou commits perdidos
- Gerenciar fluxos de trabalho de branches complexos
- Preparar Pull Requests (PRs) limpos para revisão
- Sincronizar branches divergentes
Conceitos Principais
1. Rebase Interativo
O rebase interativo é a faca suíça da edição do histórico do Git.
Operações Comuns:
pick: Manter o commit como estáreword: Alterar a mensagem do commitedit: Modificar o conteúdo do commitsquash: Combinar com o commit anteriorfixup: Semelhante ao squash, mas descarta a mensagemdrop: Remover o commit completamente
Uso Básico:
# Rebase last 5 commits
git rebase -i HEAD~5
# Rebase all commits on current branch
git rebase -i $(git merge-base HEAD main)
# Rebase onto specific commit
git rebase -i abc123
2. Cherry-Picking
Aplicar commits específicos de um branch para outro sem mesclar branches inteiros.
# Cherry-pick single commit
git cherry-pick abc123
# Cherry-pick range of commits (exclusive start)
git cherry-pick abc123..def456
# Cherry-pick without committing (stage changes only)
git cherry-pick -n abc123
# Cherry-pick and edit commit message
git cherry-pick -e abc123
3. Git Bisect
Busca binária através do histórico de commits para encontrar o commit que introduziu um bug.
# Start bisect
git bisect start
# Mark current commit as bad
git bisect bad
# Mark known good commit
git bisect good v1.0.0
# Git will checkout middle commit - test it
# Then mark as good or bad
git bisect good # or: git bisect bad
# Continue until bug found
# When done
git bisect reset
Bisect Automatizado:
# Use script to test automatically
git bisect start HEAD v1.0.0
git bisect run ./test.sh
# test.sh should exit 0 for good, 1-127 (except 125) for bad
4. Worktrees
Trabalhe em vários branches simultaneamente sem precisar usar stash ou trocar de branch.
# List existing worktrees
git worktree list
# Add new worktree for feature branch
git worktree add ../project-feature feature/new-feature
# Add worktree and create new branch
git worktree add -b bugfix/urgent ../project-hotfix main
# Remove worktree
git worktree remove ../project-feature
# Prune stale worktrees
git worktree prune
5. Reflog
Sua rede de segurança - rastreia todos os movimentos de referências, até mesmo commits deletados.
# View reflog
git reflog
# View reflog for specific branch
git reflog show feature/branch
# Restore deleted commit
git reflog
# Find commit hash
git checkout abc123
git branch recovered-branch
# Restore deleted branch
git reflog
git branch deleted-branch abc123
Padrões Detalhados e Exemplos Práticos
A documentação detalhada dos padrões está em references/details.md. Leia esse arquivo quando a navegação de nível superior for insuficiente.
Melhores Práticas
- Sempre Use --force-with-lease: Mais seguro que --force, evita sobrescrever o trabalho de outras pessoas
- Rebase Apenas Commits Locais: Não faça rebase em commits que já foram enviados (pushed) e compartilhados
- Mensagens de Commit Descritivas: O você do futuro agradecerá ao você do presente
- Commits Atômicos: Cada commit deve ser uma única mudança lógica
- Teste Antes do Force Push: Garanta que a reescrita do histórico não quebrou nada
- Esteja Ciente do Reflog: O reflog é sua rede de segurança, mas as entradas para commits que não são alcançáveis a partir da ponta atual expiram após 30 dias por padrão (
gc.reflogExpireUnreachable), e as entradas alcançáveis após 90 dias (gc.reflogExpire) - Crie um Branch Antes de Operações de Risco: Crie um branch de backup antes de rebases complexos
# Safe force push
git push --force-with-lease origin feature/branch
# Create backup before risky operation
git branch backup-branch
git rebase -i main
# If something goes wrong
git reset --hard backup-branch
Armadilhas Comuns
- Rebase de Branches Públicos: Causa conflitos de histórico para colaboradores
- Force Push Sem Lease: Pode sobrescrever o trabalho de um colega de equipe
- Perder Trabalho no Rebase: Resolva conflitos cuidadosamente, teste após o rebase
- Esquecer de Limpar Worktrees: Worktrees órfãos consomem espaço em disco
- Não Fazer Backup Antes de Experimentar: Sempre crie um branch de segurança
- Bisect em Diretório de Trabalho Sujo: Faça commit ou stash antes de usar o bisect
Comandos de Recuperação
# Abortar operações em andamento
…
Perguntas frequentes
O que é 'rebase'?
É como reescrever a história dos seus commits. Você pode mudar mensagens, juntar commits ou remover alguns que não são mais necessários, deixando o histórico mais limpo.
Para que serve 'cherry-pick'?
Serve para pegar um commit específico de um ramo (branch) e aplicá-lo em outro ramo, sem precisar juntar todos os commits de uma vez.
O que é 'bisect'?
É uma ferramenta que usa busca binária para te ajudar a encontrar exatamente qual commit introduziu um bug no seu código, testando automaticamente várias versões.
Detalhes
Descrição original do autor
Master advanced Git workflows including rebasing, cherry-picking, bisect, worktrees, and reflog to maintain clean history and recover from any situation. Use when managing complex Git histories, collaborating on feature branches, or troubleshooting repository issues.
repo: wshobson/agents
Popularidade
- Estrelas no GitHub
- 41 mil
- Posição no ranking
- #4847
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
screen-reader-testing
Faz seu agente testar sites usando leitores de tela para garantir que sejam acessíveis.
wshobson/agents
wcag-audit-patterns
Ajuda seu agente a auditar sites para acessibilidade e corrigir problemas de acordo com as diretrizes WCAG.
wshobson/agents
multi-reviewer-patterns
Faz seu agente coordenar revisões de código paralelas, deduplicando achados e consolidando relatórios.
wshobson/agents
parallel-debugging
Permite ao agente depurar problemas complexos com investigações paralelas e análise de causa raiz.
wshobson/agents
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