Tutorial 15: Git Worktrees — Parallel Agents
Tutorial 15: Git Worktrees — Parallel Agents — guia fácil de entender baseado na documentação oficial
Esta é parte da série oficial de tutoriais do Hermes Agent. Ver todos os tutoriais
Imagine que você tem uma cozinha, mas dois chefs. Se os dois cozinharem na mesma bancada, vão esbarrar um no outro, derramar farinha e estragar os pratos um do outro. Os worktrees do Git dão a cada chef sua própria bancada — mesma cozinha, mas espaços de trabalho separados. É exatamente isso que esse recurso faz pelos seus agentes de IA.
Por que se importar? O problema com um único checkout
O Hermes Agent trata a pasta onde você o executa como a raiz do projeto. Se você iniciar dois agentes na mesma pasta, eles compartilham todos os arquivos. Isso significa que:
- O Agente A pode apagar um arquivo que o Agente B está editando.
- Você não consegue saber quais mudanças vieram de qual experimento.
- Reversões ficam bagunçadas — o “desfazer” de um agente pode apagar o trabalho do outro.
Os worktrees resolvem isso dando a cada agente:
- Seu próprio branch (para que as mudanças não colidam)
- Sua própria pasta de trabalho (para que os arquivos não briguem)
- Seu próprio histórico de checkpoint (para que o
/rollbackafete apenas aquele agente)
Passo 1: Criar um worktree (o comando básico)
A partir do seu repositório principal (aquele com .git/ dentro), execute:
git worktree add ../my-agent-folder -b my-feature-branch
Vamos decompor isso:
../my-agent-folder– onde a nova pasta vai ficar (fora do seu repositório principal)-b my-feature-branch– cria um novo branch para este agente
Agora você tem uma cópia nova e isolada do seu projeto.
Passo 2: Apontar o Hermes para o worktree
Você pode usar o worktree de duas maneiras:
Opção A: CLI (mais simples)
Basta usar cd para entrar no worktree e executar o Hermes lá:
cd ../my-agent-folder
hermes chat
Opção B: Gateways de mensagens (como Slack ou Discord)
Se você usa um gateway, edite ~/.hermes/config.yaml e defina terminal.cwd para o caminho do worktree:
terminal:
cwd: /path/to/my-agent-folder
Agora, toda mensagem que esse agente receber será processada dentro daquela pasta isolada.
Passo 3: Executar vários agentes em paralelo
Crie quantos worktrees você precisar:
git worktree add ../agent-experiment-1 -b exp-1
git worktree add ../agent-experiment-2 -b exp-2
Depois, inicie uma sessão do Hermes em cada pasta. Eles nunca vão tocar nos arquivos uns dos outros, e cada um tem seu próprio branch para fazer commits.
Passo 4: Limpar quando terminar
Quando um experimento terminar, remova o worktree:
git worktree remove ../agent-experiment-1
git branch -d exp-1
O primeiro comando apaga a pasta; o segundo apaga o branch. Seu repositório principal continua limpo.
Pontos-chave para lembrar
- Worktrees são baratos – eles não copiam o repositório inteiro, apenas os arquivos que você precisa.
- Cada agente tem seu próprio histórico de
/rollback– chega de desastres de “desfazer” entre agentes. - Use branches com sabedoria – nomeie-os claramente (ex.:
refactor-login,fix-bug-42) para saber o que cada agente fez.
Resumo
Os worktrees do Git permitem que você execute vários agentes Hermes no mesmo projeto sem que eles pisem nos pés uns dos outros. Crie um worktree por agente, aponte o Hermes para ele, e pronto. É como dar a cada chef sua própria tábua de corte — mesma cozinha, zero colisões.
A seguir: No Tutorial 16, vamos implantar o Hermes com Docker — um assistente sempre ativo e com autocorreção.
📖 Documentação oficial
この記事は Hermes Agent のDocumentação oficialに基づいています:Documentação oficial › user-guide/git-worktrees