Verdent Docs
Funzionalità avanzate

Isolamento dei workspace

Come Verdent separa le modifiche parallele al codice con i git worktree

L'isolamento dei workspace separa le modifiche parallele al codice a livello di filesystem con i git worktree. Un workspace ha una propria cartella, un checkout del branch, file e stato di staging.

La creazione manuale dei workspace non è disponibile nell'interfaccia attuale di Verdent Desktop. Il pulsante Nuovo workspace, la relativa scorciatoia da tastiera e Duplica in nuovo workspace sono nascosti. La duplicazione di una risposta crea la nuova attività nel workspace corrente.


Cosa imparerai

  • Come l'isolamento dei workspace previene i conflitti
  • Come i git worktree abilitano l'isolamento
  • Differenza tra workspace base e workspace
  • Come appaiono nell'interfaccia i workspace esistenti e quelli gestiti da Verdent
  • Best practice per la gestione dei workspace

Cos'è l'isolamento dei workspace?

Quando Verdent esegue il lavoro in workspace separati, le modifiche di un worktree non modificano i file o lo stato di staging di un altro worktree. Questo rende più sicure l'implementazione e la revisione in parallelo.

Come funziona

LivelloCome funziona
CartellaOgni workspace è una cartella isolata
BranchOgni workspace ha il proprio checkout del branch
FileLe modifiche ai file in un workspace non influiscono sugli altri
StagingOgni workspace ha la propria area di staging

Vantaggi

Nessuna interferenza

Le modifiche ai file restano in cartelle worktree separate

Sperimentazione sicura

Prova modifiche rischiose senza influire sul codice stabile

Confronto chiaro

Usa git diff per confrontare approcci tra workspace

Rebase selettivo

Esegui il rebase solo dei risultati di cui ti fidi


Workspace base e workspace

Workspace base

Il workspace base è il checkout originale del repository e funge da punto di partenza predefinito.

CaratteristicaDescrizione
PosizioneLa posizione originale del tuo git clone o init
Branch principaleDi solito sul branch main o di sviluppo
Punto di riferimentoOrigine per confrontare il lavoro sperimentale

Quando usare il workspace base:

  • Modifiche rapide che non richiedono isolamento
  • Punto di riferimento per confrontare il lavoro sperimentale
  • Quando vuoi che le modifiche vadano direttamente sul branch principale
  • Attività semplici in cui l'esecuzione parallela non è necessaria

Workspace

Un workspace è un ambiente di lavoro isolato creato con i git worktree, con un checkout del branch e uno stato dei file indipendenti.

Verdent può usare un workspace quando un flusso di lavoro supportato richiede modifiche al codice isolate. I workspace esistenti restano associati al loro progetto e possono contenere più attività.


Lavorare con workspace esistenti

I workspace già appartenenti a un progetto restano raggruppati con quel progetto nel pannello Progetti. Seleziona un workspace per visualizzarne le attività e lo stato dei file.

  • Le attività nello stesso workspace condividono i suoi file, ma mantengono contesti di conversazione separati.
  • Passare a un altro workspace cambia il worktree attivo e il contesto del branch.
  • La duplicazione di una risposta mantiene l'attività duplicata nel workspace corrente.
  • Elimina un workspace solo dopo aver eseguito commit, rebase o aver comunque conservato il lavoro di cui hai bisogno.

Eseguire il rebase delle modifiche del workspace

Quando sei pronto a integrare le modifiche del workspace nel branch principale:

Usare l'interfaccia di Verdent

Completa il lavoro

Completa il lavoro nel workspace

Rivedi le modifiche

Seleziona Modifiche attività nel pannello centrale per rivedere tutte le modifiche

Esegui il rebase sul branch principale

Seleziona Azioni workspace → Esegui rebase sul branch principale nella barra del workspace

Risolvi i conflitti

Risolvi eventuali conflitti se richiesto

Verifica

Rivedi le modifiche prima di confermare

Mantenere aggiornati i workspace

Usa Azioni workspace → Sincronizza con il branch principale per scaricare le ultime modifiche dal branch principale nel tuo workspace. Questo aiuta a prevenire conflitti di grandi dimensioni durante il rebase.


Best practice

Manutenzione dei workspace

PraticaPerché
Elimina i workspace dopo il rebaseLibera spazio su disco
Rimuovi gli esperimenti abbandonatiMantiene gestibile l'elenco dei workspace
Mantieni ragionevole il numero di workspaceLe risorse di sistema sono finite

Igiene di Git

PraticaPerché
Esegui commit frequentiEsegui il commit del lavoro in corso prima di cambiare workspace
Commit piccoliI commit più piccoli sono più facili da selezionare con cherry-pick
Sincronizza regolarmente con la baseNon lasciare che i workspace divergano troppo dal branch principale
Riduci la complessità dei conflittiL'integrazione regolare previene conflitti di grandi dimensioni

Domande frequenti

Quanto spazio su disco usa ogni workspace?

Ogni workspace duplica i file di lavoro ma condivide la cartella .git. L'uso dello spazio equivale approssimativamente alla dimensione del progetto per ogni workspace. I progetti di grandi dimensioni con molti workspace paralleli useranno molto spazio su disco.

Posso eliminare un workspace?

Sì. Elimina il workspace tramite Verdent. Questo rimuove la cartella ma conserva eventuale lavoro committato sul branch.

Come creo un nuovo workspace?

La creazione manuale non è disponibile nell'interfaccia Desktop attuale. La voce Nuovo workspace e la scorciatoia sono nascoste. Verdent può comunque usare internamente i workspace per i flussi di lavoro isolati supportati.

Cosa succede alle modifiche non committate se elimino un workspace?

Le modifiche non committate vengono perse quando un workspace viene eliminato. Esegui sempre il commit o lo stash delle modifiche prima di rimuovere un workspace.

Posso convertire un workspace nel workspace base?

Non esiste una conversione diretta, ma puoi eseguire il rebase di tutte le modifiche dal workspace al branch principale, quindi eliminare il workspace. La cronologia del branch viene conservata.

I worktree funzionano con tutti i servizi di hosting git?

Sì. I worktree di Git sono una funzionalità standard di git. Funzionano con GitHub, GitLab, Bitbucket e qualsiasi altro servizio di hosting git.