using-git-worktrees
Faz seu agente criar espaços de trabalho separados para diferentes tarefas de código. Isso permite trabalhar em várias partes do projeto ao mesmo tempo sem confusão.
O que ela faz
Esta ferramenta cria um espaço de trabalho separado para você mexer em um projeto de programação sem bagunçar o trabalho principal. É como ter uma cópia temporária do seu projeto para testar novas ideias.
Quando usar
- ✓Quando você precisa trabalhar em uma nova funcionalidade sem afetar o código principal.
- ✓Ao corrigir um bug e querer testar a solução isoladamente.
- ✓Para experimentar uma grande mudança no projeto sem riscos.
Exemplo do que pedir para a IA
“Quero criar um espaço de trabalho para a nova funcionalidade de login.”
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
A ferramenta verifica onde guardar seu novo espaço de trabalho, garante que ele não interfira no seu projeto principal e configura o ambiente para você começar a programar.
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 using-git-worktreesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/skills/using-git-worktrees/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.
Usando Git Worktrees
Visão Geral
Git worktrees criam espaços de trabalho isolados que compartilham o mesmo repositório, permitindo trabalhar em vários branches simultaneamente sem alternar.
Princípio central: Seleção sistemática de diretório + verificação de segurança = isolamento confiável.
Anúncio no início: "Estou usando a habilidade using-git-worktrees para configurar um espaço de trabalho isolado."
Processo de Seleção de Diretório
Siga esta ordem de prioridade:
1. Verificar Diretórios Existentes
# Check in priority order
ls -d .worktrees 2>/dev/null # Preferred (hidden)
ls -d worktrees 2>/dev/null # Alternative
Se encontrado: Use esse diretório. Se ambos existirem, .worktrees vence.
2. Verificar CLAUDE.md
grep -i "worktree.*director" CLAUDE.md 2>/dev/null
Se a preferência estiver especificada: Use-a sem perguntar.
3. Perguntar ao Usuário
Se nenhum diretório existir e nenhuma preferência em CLAUDE.md:
No worktree directory found. Where should I create worktrees?
1. .worktrees/ (project-local, hidden)
2. ~/.config/superpowers/worktrees/<project-name>/ (global location)
Which would you prefer?
Verificação de Segurança
Para Diretórios Locais do Projeto (.worktrees ou worktrees)
DEVE verificar se o diretório está ignorado antes de criar o worktree:
# Check if directory is ignored (respects local, global, and system gitignore)
git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null
Se NÃO estiver ignorado:
De acordo com a regra de Jesse "Corrija coisas quebradas imediatamente":
- Adicione a linha apropriada a .gitignore
- Commite a alteração
- Prossiga com a criação do worktree
Por que é crítico: Evita commitar acidentalmente o conteúdo do worktree no repositório.
Para Diretório Global (~/.config/superpowers/worktrees)
Nenhuma verificação de .gitignore é necessária - está completamente fora do projeto.
Passos de Criação
1. Detectar Nome do Projeto
project=$(basename "$(git rev-parse --show-toplevel)")
2. Criar Worktree
# Determine full path
case $LOCATION in
.worktrees|worktrees)
path="$LOCATION/$BRANCH_NAME"
;;
~/.config/superpowers/worktrees/*)
path="~/.config/superpowers/worktrees/$project/$BRANCH_NAME"
;;
esac
# Create worktree with new branch
git worktree add "$path" -b "$BRANCH_NAME"
cd "$path"
3. Executar Configuração do Projeto
Detecta e executa automaticamente a configuração apropriada:
# Node.js
if [ -f package.json ]; then npm install; fi
# Rust
if [ -f Cargo.toml ]; then cargo build; fi
# Python
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
if [ -f pyproject.toml ]; then poetry install; fi
# Go
if [ -f go.mod ]; then go mod download; fi
4. Verificar Linha de Base Limpa
Execute testes para garantir que o worktree comece limpo:
# Examples - use project-appropriate command
npm test
cargo test
pytest
go test ./...
Se os testes falharem: Relate as falhas, pergunte se deve prosseguir ou investigar.
Se os testes passarem: Relate que está pronto.
5. Relatar Localização
Worktree ready at <full-path>
Tests passing (<N> tests, 0 failures)
Ready to implement <feature-name>
Referência Rápida
| Situação | Ação |
|---|---|
.worktrees/ existe |
Use-o (verifique se está ignorado) |
worktrees/ existe |
Use-o (verifique se está ignorado) |
| Ambos existem | Use .worktrees/ |
| Nenhum existe | Verifique CLAUDE.md → Pergunte ao usuário |
| Diretório não ignorado | Adicione a .gitignore + commite |
| Testes falham durante a linha de base | Relate falhas + pergunte |
| Sem package.json/Cargo.toml | Pule a instalação de dependências |
Erros Comuns
Pular a verificação de ignorar
- Problema: O conteúdo do worktree é rastreado, polui o status do git
- Correção: Sempre use
git check-ignoreantes de criar um worktree local do projeto
Assumir a localização do diretório
- Problema: Cria inconsistência, viola convenções do projeto
- Correção: Siga a prioridade: existente > CLAUDE.md > perguntar
Prosseguir com testes falhando
- Problema: Não é possível distinguir novos bugs de problemas pré-existentes
- Correção: Relate falhas, obtenha permissão explícita para prosseguir
Comandos de configuração fixos (hardcoded)
- Problema: Quebra em projetos que usam ferramentas diferentes
- Correção: Detecte automaticamente a partir de arquivos do projeto (package.json, etc.)
Exemplo de Fluxo de Trabalho
Você: Estou usando a habilidade using-git-worktrees para configurar um espaço de trabalho isolado.
[Verifica .worktrees/ - existe]
[Verifica se está ignorado - git check-ignore confirma que .worktrees/ está ignorado]
[Cria worktree: git worktree add .worktrees/auth -b feature/auth]
[Executa npm install]
[Executa npm test - 47 passando]
Worktree pronto em /Users/jesse/myproject/.worktrees/auth
…
Perguntas frequentes
Por que é importante verificar se o diretório está ignorado?
Para garantir que o seu trabalho novo não seja acidentalmente enviado como parte do projeto principal, evitando confusão e erros.
O que acontece se os testes falharem no novo espaço de trabalho?
A ferramenta vai te avisar e perguntar se você quer continuar ou investigar o problema antes de prosseguir.
Onde os espaços de trabalho são criados?
A ferramenta tenta usar um local padrão dentro do projeto, mas pode perguntar a você ou usar uma configuração prévia se não encontrar.
Detalhes
Descrição original do autor
Git worktrees create isolated workspaces sharing the same repository, allowing work on multiple branches simultaneously without switching.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4692
- 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