Worktrees do repositório
Liste e crie checkouts em paralelo do mesmo repositório sem confundi-los com workspaces do Elyra.
Uma worktree é uma segunda pasta do mesmo repositório, em outra branch. Ela existe para que duas frentes de trabalho não disputem os mesmos arquivos: cada uma tem o seu checkout, com o mesmo histórico por baixo.
A seção Worktrees
Ela lista os checkouts do repositório do projeto. A lista é lida sob demanda — ao abrir a seção e quando você pede Reler as worktrees do repositório —, e por isso uma worktree criada agora há pouco no terminal pode não estar ali até você reler.
Cada item informa o que se precisa saber antes de mexer:
- se é a principal ou uma worktree adicional;
- a branch que ela tem em checkout;
- o estado dela: limpa, com arquivos alterados, à frente ou atrás da base, integrada;
- sinais de exceção: bloqueada, órfã ou
bare; - uma operação de Git em andamento (merge ou rebase pela metade).
A seção também inclui worktrees que o Elyra não criou. Isso é intencional: o repositório é do projeto, e esconder um checkout feito à mão daria uma visão falsa do que existe no disco.
Criar uma worktree
- Abra a seção Worktrees e use Nova worktree.
- Informe a branch. O campo busca nas branches do repositório conforme você digita e parte do padrão configurado no repositório.
- Informe a pasta onde o checkout vai nascer. Há um botão para escolher no disco.
- Opcionalmente, escreva um comando para rodar depois de criar. Ele executa dentro da pasta nova —
o exemplo do próprio campo é
pnpm install. - Confirme em Criar worktree.
Há uma caixa Abrir como workspace, e ela nasce desmarcada: criar uma worktree é criar uma worktree; adotá-la como workspace do app é uma segunda decisão, e é sua. Marcar a caixa é o que faz a pasta virar um workspace aberto.
O comando pós-criação
Esse campo roda código de verdade na pasta nova, com as suas credenciais e o seu ambiente:
- Use-o para o que é mecânico e conhecido: instalar dependências, copiar um arquivo de ambiente, preparar um hook.
- Não cole nele um comando que você não entendeu, nem um que veio de uma mensagem de agente sem revisão.
- Se ele falhar, a worktree já foi criada — a falha é do comando, não da criação. Você pode rodar o comando de novo no terminal daquela pasta.
Local ou em outra máquina
Quando o repositório mora em outra máquina, a worktree nasce lá: a criação é roteada pelo host do repositório, e a pasta que você escolhe no diálogo é do outro lado. Como o comando pós-criação também roda do outro lado, ele viaja pelo mesmo caminho — não é o seu computador que o executa.
Limites e escopo
- A lista não é um registro do Elyra. Ela reflete o repositório; remover uma worktree pelo terminal tira o item da lista na próxima releitura, e uma worktree removida por fora pode aparecer como órfã.
- Worktree não é workspace. Nenhuma worktree é adotada como workspace automaticamente, e a lista não mostra quais pastas já são workspaces do app.
- O nome da branch é validado pelo Git. Branch inválida ou já em checkout em outra pasta é recusada pelo próprio Git, com a mensagem dele.
- Uma worktree em uso não pode ser removida pelo Git. Se a remoção falhar, confira se algum terminal está com aquela pasta aberta.
- Criar worktree consome disco. Cada checkout é uma cópia de trabalho dos arquivos rastreados.