Verdent Docs
Recursos avançados

Isolamento de espaço de trabalho

Git isolamento baseado em worktree para experimentação paralela sem conflitos

Workspace Isolation é o sistema do Verdent para garantir que o trabalho paralelo nunca interfira consigo mesmo. Cada espaço de trabalho é um ambiente de trabalho completamente separado, isolado no nível do sistema de arquivos usando git worktrees.


O que você vai aprender

  • Como o isolamento de espaço de trabalho evita conflitos
  • Como os git worktrees viabilizam o isolamento
  • Diferença entre Base Workspace e Workspaces
  • Criar, alternar e gerenciar espaços de trabalho
  • Melhores práticas para gerenciamento de espaços de trabalho

O que é Workspace Isolation?

Workspace Isolation garante que as alterações de uma tarefa nunca afetem outra. Experimente diferentes abordagens em paralelo, compare resultados e faça rebase seletivo apenas das alterações que você deseja de volta na branch principal.

Como funciona

CamadaComo funciona
DiretórioCada espaço de trabalho é um diretório isolado
BranchCada espaço de trabalho tem seu próprio checkout de branch
ArquivosAlterações de arquivos em um espaço de trabalho não afetam os outros
StagingCada espaço de trabalho tem sua própria staging area

Benefícios

Zero interferência

Agentes paralelos não podem entrar em conflito, fisicamente impossível

Experimentação segura

Experimente alterações arriscadas sem afetar o código estável

Comparação clara

Use git diff para comparar abordagens entre espaços de trabalho

Rebase seletivo

Faça rebase apenas dos resultados em que você confia


Base Workspace vs Workspaces

Base Workspace

O Base workspace é o checkout original do seu repositório, servindo como ponto de partida padrão.

CaracterísticaDescrição
LocalizaçãoA localização original do seu git clone ou init
Branch primáriaNormalmente na branch main ou de desenvolvimento
Ponto de referênciaFonte para comparar trabalho experimental

Quando usar o Base:

  • Alterações rápidas que não precisam de isolamento
  • Ponto de referência para comparar trabalho experimental
  • Quando você quer que as alterações vão diretamente para a branch principal
  • Tarefas simples em que a execução paralela não é necessária

Workspace

Um Workspace é um ambiente de trabalho isolado criado usando git worktrees, com seu próprio checkout de branch independente e estado de arquivos.

Quando usar um Workspace:

  • Desenvolvimento de funcionalidades em paralelo
  • Experimentação com alterações arriscadas
  • Trabalhar em várias tarefas simultaneamente
  • Quando você quer isolamento antes de fazer rebase

Criar e gerenciar espaços de trabalho

Criar um novo espaço de trabalho

PlataformaAtalho
macOSCmd+Shift+N
WindowsCtrl+Shift+N

O que acontece:

  1. O Verdent cria um diretório isolado de git worktree
  2. Uma nova branch é criada (ou uma branch existente é feita checkout)
  3. O espaço de trabalho fica totalmente isolado dos outros espaços de trabalho
  4. O espaço de trabalho aparece em All Workspaces na barra superior

Alternar entre espaços de trabalho

AçãomacOSWindows
Próximo espaço de trabalhoCtrl+TabCtrl+Tab
Espaço de trabalho anteriorCtrl+Shift+TabCtrl+Shift+Tab
Selecionar espaço de trabalhoClique em All Workspaces na barra superiorClique em All Workspaces na barra superior

Preservação de estado:

  • O Verdent mantém todos os estados de espaço de trabalho ativos
  • Alterne instantaneamente sem atraso de configuração
  • Contexto completo preservado ao alternar

Fazer rebase das alterações do espaço de trabalho

Quando você estiver pronto para integrar as alterações do espaço de trabalho de volta à branch principal:

Usando a interface do Verdent

Concluir o trabalho

Conclua o trabalho no espaço de trabalho

Revisar alterações

Clique em Task Changes no painel central para revisar todas as modificações

Fazer rebase para a branch principal

Clique em Workspace Actions → Rebase to main branch na Workspace Bar

Resolver conflitos

Resolva quaisquer conflitos, se solicitado

Verificar

Revise as alterações antes de confirmar

Manter os espaços de trabalho atualizados

Use Workspace Actions → Sync with main branch para trazer as últimas alterações da branch principal para o seu espaço de trabalho. Isso ajuda a evitar grandes conflitos ao fazer rebase.


Melhores práticas

Convenções de nomenclatura

PráticaExemplo
Nomes descritivosfeature-auth, bugfix-123, experiment-caching
Incluir números de ticketsJIRA-456-user-login
Manter nomes curtosEvite nomes excessivamente longos

Manutenção de espaços de trabalho

PráticaPor quê
Excluir espaços de trabalho já rebaseadosLiberar espaço em disco
Remover experimentos abandonadosManter a lista de espaços de trabalho gerenciável
Manter um número razoável de espaços de trabalhoOs recursos do sistema são finitos

Higiene do Git

PráticaPor quê
Faça commits com frequênciaFaça commit do trabalho em andamento antes de alternar
Commits pequenosCommits menores são mais fáceis de fazer cherry-pick
Sincronize com a base regularmenteNão deixe os espaços de trabalho divergirem demais da branch principal
Reduza a complexidade de conflitosA integração regular evita grandes conflitos

Perguntas frequentes

Quanto espaço em disco cada espaço de trabalho usa?

Cada espaço de trabalho duplica os arquivos de trabalho, mas compartilha o diretório .git. O uso de espaço equivale aproximadamente ao tamanho do seu projeto por espaço de trabalho. Projetos grandes com muitos espaços de trabalho paralelos usarão um espaço em disco significativo.

Posso excluir um espaço de trabalho?

Sim. Exclua o espaço de trabalho pelo Verdent. Isso remove o diretório, mas preserva qualquer trabalho com commit na branch.

O que acontece com as alterações sem commit se eu excluir um espaço de trabalho?

As alterações sem commit são perdidas quando um espaço de trabalho é excluído. Sempre faça commit ou stash das alterações antes de remover um espaço de trabalho.

Posso converter um espaço de trabalho no base workspace?

Não há conversão direta, mas você pode fazer rebase de todas as alterações do espaço de trabalho para a branch principal e depois excluir o espaço de trabalho. O histórico da branch é preservado.

Os worktrees funcionam com todos os serviços de hospedagem git?

Sim. Os worktrees do Git são um recurso padrão do git. Eles funcionam com GitHub, GitLab, Bitbucket e qualquer outro serviço de hospedagem git.