Isolamento de espaço de trabalho
Como o Verdent separa alterações de código paralelas com git worktrees
O isolamento de espaço de trabalho separa alterações de código paralelas no nível do sistema de arquivos com git worktrees. Um espaço de trabalho tem seu próprio diretório, checkout de branch, arquivos e estado de staging.
A criação manual de espaços de trabalho não está disponível na interface atual do Verdent Desktop. O botão Novo espaço de trabalho, seu atalho de teclado e Duplicar para novo espaço de trabalho estão ocultos. Duplicar uma resposta cria a nova tarefa no espaço de trabalho atual.
O que você vai aprender
- Como o isolamento de espaço de trabalho evita conflitos
- Como git worktrees permitem o isolamento
- Diferença entre espaço de trabalho base e espaços de trabalho
- Como espaços de trabalho existentes e gerenciados pelo Verdent aparecem na interface
- Boas práticas para gerenciar espaços de trabalho
O que é isolamento de espaço de trabalho?
Quando o Verdent executa trabalhos em espaços de trabalho separados, as alterações de um worktree não modificam os arquivos nem o estado de staging de outro worktree. Isso torna a implementação e a revisão paralelas mais seguras.
Como funciona
| Camada | Como funciona |
|---|---|
| Diretório | Cada espaço de trabalho é um diretório isolado |
| Branch | Cada espaço de trabalho tem seu próprio checkout de branch |
| Arquivos | Alterações de arquivos em um espaço de trabalho não afetam os outros |
| Staging | Cada espaço de trabalho tem sua própria área de staging |
Benefícios
Zero interferência
As alterações de arquivos ficam em diretórios de worktree separados
Experimentação segura
Teste mudanças 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
Espaço de trabalho base vs espaços de trabalho
Espaço de trabalho base
O espaço de trabalho base é o checkout original do seu repositório, servindo como ponto de partida padrão.
| Característica | Descrição |
|---|---|
| Localização | O local original do seu git clone ou init |
| Branch principal | Normalmente na branch main ou de desenvolvimento |
| Ponto de referência | Fonte para comparar trabalhos experimentais |
Quando usar o base:
- Mudanças rápidas que não precisam de isolamento
- Ponto de referência para comparar trabalhos experimentais
- 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
Espaço de trabalho
Um espaço de trabalho é um ambiente de trabalho isolado criado com git worktrees, com seu próprio checkout de branch independente e estado de arquivos.
O Verdent pode usar um espaço de trabalho quando um fluxo de trabalho compatível precisa de alterações de código isoladas. Espaços de trabalho existentes permanecem associados ao projeto e podem conter várias tarefas.
Trabalhar com espaços de trabalho existentes
Espaços de trabalho que já pertencem a um projeto permanecem agrupados com esse projeto no painel Projects. Selecione um espaço de trabalho para ver suas tarefas e o estado dos arquivos.
- Tarefas dentro do mesmo espaço de trabalho compartilham seus arquivos, mas mantêm contextos de conversa separados.
- Trocar para outro espaço de trabalho altera o worktree ativo e o contexto da branch.
- Duplicar uma resposta mantém a tarefa duplicada no espaço de trabalho atual.
- Exclua um espaço de trabalho somente depois de fazer commit, rebase ou preservar de outra forma o trabalho de que você precisa.
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 UI do Verdent
Concluir o trabalho
Conclua o trabalho no espaço de trabalho
Revisar alterações
Clique em Alterações da tarefa no painel central para revisar todas as modificações
Fazer rebase para a branch principal
Clique em Ações do espaço de trabalho → Fazer rebase para a branch principal na barra do espaço de trabalho
Resolver conflitos
Resolva quaisquer conflitos, se solicitado
Verificar
Revise as alterações antes de confirmar
Manter espaços de trabalho atualizados
Use Ações do espaço de trabalho → Sincronizar com a branch principal para trazer as alterações mais recentes da branch principal para o seu espaço de trabalho. Isso ajuda a evitar conflitos grandes ao fazer rebase.
Boas práticas
Manutenção de espaços de trabalho
| Prática | Por quê |
|---|---|
| Excluir espaços de trabalho com rebase feito | Liberar espaço em disco |
| Remover experimentos abandonados | Manter a lista de espaços de trabalho gerenciável |
| Manter uma quantidade razoável de espaços de trabalho | Os recursos do sistema são finitos |
Higiene do Git
| Prática | Por quê |
|---|---|
| Fazer commits com frequência | Faça commit do trabalho em andamento antes de trocar |
| Commits pequenos | Commits menores são mais fáceis de aplicar com cherry-pick |
| Sincronizar com a base regularmente | Não deixe os espaços de trabalho divergirem demais da branch principal |
| Reduzir a complexidade dos conflitos | A integração regular evita conflitos grandes |
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 é aproximadamente igual ao tamanho do seu projeto por espaço de trabalho. Projetos grandes com muitos espaços de trabalho paralelos usarão bastante espaço em disco.
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.
Como crio um novo espaço de trabalho?
A criação manual não está disponível na interface Desktop atual. A entrada Novo espaço de trabalho e o atalho estão ocultos. O Verdent ainda pode usar espaços de trabalho internamente para fluxos de trabalho isolados compatíveis.
O que acontece com alterações sem commit se eu excluir um espaço de trabalho?
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 espaço de trabalho base?
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.
Worktrees funcionam com todos os serviços de hospedagem git?
Sim. 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.