← Voltar ao curso
Nível 2 — Ferramenta de trabalho · Módulo 2.6 — Sessões longas sem babá

2.6.4 · Worktrees: trabalho paralelo sem colisão

4 min de vídeo TEC BASIS

Objetivo: ao final, o consultor roda sessões paralelas do Claude Code no mesmo repositório, sem que uma sobrescreva os arquivos que a outra está mexendo.

O que você precisa levar desta aula

  1. Rodar duas sessões do Claude Code na mesma pasta ao mesmo tempo, sem worktree, é como dois volantes controlando o mesmo carro — uma sessão sobrescreve o que a outra está mexendo.
  2. Cada worktree ganha sua própria árvore de arquivos isolada; por baixo, todas as worktrees do mesmo repositório compartilham o mesmo histórico git.
  3. Um .worktreeinclude na raiz do repositório lista arquivos normalmente ignorados pelo git (como .env) que precisam ser copiados para dentro de cada worktree nova, para que ela funcione de verdade.

Sem worktree vs. com worktree

Sem worktree Com worktree
Duas sessões na mesma pasta Uma pode sobrescrever a mudança da outra Cada sessão tem sua própria árvore de arquivos
Histórico git Compartilhado (única cópia) Compartilhado, mesmo entre árvores separadas
Ao terminar uma sessão sem mudança pendente Nenhuma limpeza automática — não se aplica A worktree limpa é removida automaticamente
Arquivo ignorado pelo git (.env, config local) Existe uma vez, na pasta principal Precisa ser copiado para cada worktree nova — não vem por padrão

Rodando uma worktree

claude --worktree feature-x

Cada execução com um nome de worktree diferente cria (ou reutiliza) uma árvore de arquivos isolada para aquela sessão, sobre o mesmo repositório.

.worktreeinclude

Arquivo de texto na raiz do repositório, um caminho por linha:

.env
config/local.json

Todo caminho listado ali é copiado para dentro de cada worktree nova, mesmo estando no .gitignore. Sem isso, uma worktree nova pode subir sem configuração essencial — e falhar de um jeito que parece bug, mas é só arquivo faltando.

Regra Wayon Todo repositório de projeto do cliente que for usado com sessões paralelas em worktree precisa ter o .worktreeinclude configurado antes da primeira sessão — nunca depois de um problema aparecer. Arquivo de credencial ou configuração de ambiente ausente numa worktree é risco de rodar contra o ambiente errado sem aviso.

📖 Sessões paralelas com git worktrees

Quiz — 4 questões

1.Duas sessões do Claude Code precisam trabalhar ao mesmo tempo no mesmo repositório do Meridiano, em tarefas diferentes. Qual é o risco de rodar as duas direto na mesma pasta, sem worktree?
  • a)Uma sessão pode sobrescrever arquivos que a outra está mexendo, como dois volantes no mesmo carro

    Correto. É exatamente o risco que a worktree existe para evitar.

  • b)O Claude Code bloqueia automaticamente a segunda sessão, então não há risco real

    Não existe esse bloqueio automático — o risco é real e precisa ser evitado com worktree.

  • c)O histórico git de uma das sessões seria apagado

    O histórico git não é apagado; o risco é de colisão nos arquivos de trabalho, não no histórico.

Ver resposta e por quê
a) Correto. É exatamente o risco que a worktree existe para evitar.
b) Não existe esse bloqueio automático — o risco é real e precisa ser evitado com worktree.
c) O histórico git não é apagado; o risco é de colisão nos arquivos de trabalho, não no histórico.
2.O que cada worktree compartilha com as demais worktrees do mesmo repositório?
  • a)A mesma árvore de arquivos de trabalho

    É justamente o oposto — cada worktree tem sua própria árvore de arquivos isolada.

  • b)O mesmo histórico git — commits e branches visíveis em todas

    Correto.

  • c)Nada — cada worktree é um repositório totalmente separado

    Não é um repositório separado; o histórico git por baixo é compartilhado.

Ver resposta e por quê
a) É justamente o oposto — cada worktree tem sua própria árvore de arquivos isolada.
b) Correto.
c) Não é um repositório separado; o histórico git por baixo é compartilhado.
3.Uma sessão em worktree termina sem nenhuma mudança pendente. O que acontece com a pasta daquela worktree?
  • a)É removida automaticamente

    Correto.

  • b)Fica na máquina, e precisa ser apagada manualmente sempre

    Para worktree limpa, a remoção é automática — não exige limpeza manual.

  • c)É movida para uma pasta de arquivamento, mantendo os arquivos

    Não existe esse arquivamento; a worktree limpa simplesmente é removida.

Ver resposta e por quê
a) Correto.
b) Para worktree limpa, a remoção é automática — não exige limpeza manual.
c) Não existe esse arquivamento; a worktree limpa simplesmente é removida.
4.Uma worktree nova falha ao subir o aplicativo do Meridiano localmente por falta do arquivo .env. Qual é a causa e a solução?
  • a)Arquivos ignorados pelo git não são copiados para worktrees novas por padrão; listar .env num .worktreeinclude resolve

    Correto.

  • b)O git corrompeu o arquivo ao criar a worktree; é preciso clonar o repositório de novo

    Não há corrupção — o .env nunca foi copiado, porque o git o ignora por padrão.

  • c)Worktrees não suportam arquivos de configuração local; a variável precisa ser passada por linha de comando toda vez

    Worktrees suportam, desde que o arquivo esteja listado no .worktreeinclude — não é preciso repassar por linha de comando.

Ver resposta e por quê
a) Correto.
b) Não há corrupção — o .env nunca foi copiado, porque o git o ignora por padrão.
c) Worktrees suportam, desde que o arquivo esteja listado no .worktreeinclude — não é preciso repassar por linha de comando.