Documentation Index
Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
Use this file to discover all available pages before exploring further.
O Devin Desktop oferece suporte ao uso de git worktrees para executar tarefas do Cascade em paralelo sem interferir no seu workspace principal.
Ao usar worktrees, cada conversa do Cascade tem sua própria sessão, permitindo que o Cascade faça edições ou execute builds e teste o código sem interferir no seu workspace principal.
A forma mais simples de começar a usar worktrees é alternar para o modo “Worktree” no canto inferior direito do campo de entrada do Cascade.
No momento, você só pode alternar para um worktree no início de uma sessão do Cascade. As conversas não podem ser movidas para um worktree diferente depois de iniciadas.
Depois que o Cascade fizer alterações nos arquivos do worktree, você terá a opção de clicar em “merge” para incorporar essas alterações de volta ao seu workspace principal.
As worktrees são organizadas por nome do repo em ~/.windsurf/worktrees/<repo_name>.
Cada worktree recebe um nome aleatório único.
Para ver uma lista de worktrees ativas, você pode executar git worktree list dentro do diretório do repositório.
Como as worktrees ficam em um diretório diferente do projeto original, sistemas de build ou ferramentas que dependem de caminhos relativos (por exemplo, referências ../shared-lib, dependências com symlink ou dependências de código-fonte de monorepo resolvidas por caminho) podem falhar dentro de uma worktree. Se o seu projeto usa caminhos relativos fora da raiz do repositório, configure um hook post_setup_worktree para criar os symlinks necessários ou copiar os arquivos necessários para os locais esperados.
Cada worktree contém uma cópia dos arquivos do seu repositório, mas não inclui arquivos .env nem outros pacotes que não estejam em controle de versão.
Se você quiser incluir arquivos ou pacotes adicionais em cada worktree, poderá usar o hook post_setup_worktree hook para copiá-los para o diretório do worktree.
O hook post_setup_worktree é executado após cada worktree ser criado e configurado. Ele é executado dentro do novo diretório de worktree.
A variável de ambiente $ROOT_WORKSPACE_PATH aponta para o caminho do workspace original e pode ser usada para acessar arquivos ou executar comandos relativos ao repositório original.
Copie os arquivos de ambiente e instale as dependências quando uma nova worktree for criada.
Configuração (em .windsurf/hooks.json):
{
"hooks": {
"post_setup_worktree": [
{
"command": "bash $ROOT_WORKSPACE_PATH/hooks/setup_worktree.sh",
"show_output": true
}
]
}
}
Script (hooks/setup_worktree.sh):
#!/bin/bash
# Copiar arquivos de ambiente do workspace original
if [ -f "$ROOT_WORKSPACE_PATH/.env" ]; then
cp "$ROOT_WORKSPACE_PATH/.env" .env
echo "Copied .env file"
fi
if [ -f "$ROOT_WORKSPACE_PATH/.env.local" ]; then
cp "$ROOT_WORKSPACE_PATH/.env.local" .env.local
echo "Copied .env.local file"
fi
# Instalar dependências
if [ -f "package.json" ]; then
npm install
echo "Installed npm dependencies"
fi
exit 0
Este hook garante que cada worktree tenha a configuração de ambiente necessária e que as dependências sejam instaladas automaticamente.
O Devin Desktop limpa automaticamente worktrees antigas ao criar uma nova worktree para evitar o uso excessivo de disco. Cada workspace pode ter até 20 worktrees.
As worktrees são limpas com base no último acesso — as mais antigas são removidas primeiro. Essa limpeza acontece por workspace, garantindo que worktrees de diferentes repositórios permaneçam independentes entre si.
Além disso, se você excluir manualmente uma conversa no Cascade, o Devin Desktop excluirá automaticamente a worktree associada.
Painel de controle de código-fonte
Por padrão, o Devin Desktop não mostra as worktrees criadas pelo Cascade no painel SCM.
Você pode definir git.showWindsurfWorktrees como true nas Configurações para fazer override desse comportamento e ativar a visualização das worktrees no painel SCM.