Worktree: outro checkout do mesmo repositório
Um worktree vinculado permite trabalhar em outra branch, em outra pasta, sem alterar o checkout que já está aberto. Use-o para tarefas paralelas ou tentativas de agentes dentro de um mesmo repositório.
O FluxGit mostra submódulos, worktrees e o contexto entre repositórios pai e filho para que espaços de trabalho com várias partes deixem de ocultar alterações não commitadas e commits inconsistentes no pai.
Um worktree vinculado permite trabalhar em outra branch, em outra pasta, sem alterar o checkout que já está aberto. Use-o para tarefas paralelas ou tentativas de agentes dentro de um mesmo repositório.
Um submódulo tem seu próprio histórico. O repositório pai registra o commit específico do submódulo que espera, permitindo incluir outro projeto e escolher quando atualizar essa referência.
Eles resolvem problemas diferentes: um worktree oferece várias pastas de trabalho para um repositório; um submódulo conecta dois repositórios. O FluxGit mostra worktrees vinculados e o estado dos submódulos entre pai e filho na mesma visualização do espaço de trabalho. Veja o fluxo seguro com worktrees para agentes de programação em paralelo, além da documentação de Git worktree e submódulos Git para entender o comportamento subjacente do Git.
Worktrees e submódulos podem coexistir, mas inspecione cada checkout separadamente. O Git documenta suporte incompleto a submódulos entre vários worktrees e desaconselha vários checkouts de um superprojeto. Confira essa limitação antes de usar essa estrutura.
Compare esses três commits antes de alterar uma referência; commits iguais não provam que a pasta de trabalho do filho esteja limpa. O FluxGit mostra o estado pai-filho e referências divergentes; o Agent Lanes compara tentativas paralelas sem aplicar suas alterações.
Os submódulos podem se afastar do commit registrado pelo pai, e os worktrees multiplicam branches entre pastas. Quando esse estado fica invisível, você pode criar um commit do pai que aponta para o submódulo errado.
Os fluxos de submódulos e worktrees estão em beta. O estado pendente é mostrado por espaço de trabalho, e as operações destrutivas de submódulos e worktrees passam pelo mesmo fluxo de confirmação protegido que as demais.
A clonagem inicializa submódulos por padrão, e você pode abrir o filho ou o pai a partir do contexto. No Fleet Radar, registre no pai um ponteiro de submódulo que se afastou do commit registrado ou retorne o submódulo a esse commit, em qualquer profundidade.
As ações de worktree ficam sujeitas a controles com ajuda quando é necessário um backend de desktop. Quando tentativas paralelas da mesma tarefa estão em worktrees vinculados, você pode compará-las lado a lado e fazer merge da vencedora pelo fluxo protegido.
Compare tentativas paralelas de agentes lado a lado, arquivo por arquivo. Os arquivos alterados por mais de uma tentativa aparecem primeiro, e cada célula abre o diff daquela tentativa. Nenhuma alteração é aplicada a partir da comparação.
As ações destrutivas de submódulos e worktrees pedem confirmação antes de agir.
O Agent Lanes coloca cada tentativa paralela em uma coluna e cada arquivo em uma linha, comparados com seu checkout. Leia o diff de cada tentativa pela célula correspondente e faça merge da vencedora pelo fluxo protegido.
Quando o checkout de um submódulo se afasta do commit registrado pelo pai, o Fleet Radar oferece duas ações. Uma registra o novo ponteiro no pai com um commit que contém apenas esse ponteiro. A outra retorna o submódulo ao commit registrado e mantém um ponto de restauração; ela recusa a operação se esse checkout deixaria para trás um commit que nenhuma branch, tag ou remoto contém. Ambas funcionam em submódulos aninhados.
A inspeção do espaço de trabalho prioriza a execução local. O FluxGit lê sua estrutura local sem enviá-la a lugar algum.
Submódulos na barra lateral com seus caminhos, commits e indicação de alterações não commitadas.