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
| Livello | Come funziona |
|---|---|
| Cartella | Ogni workspace è una cartella isolata |
| Branch | Ogni workspace ha il proprio checkout del branch |
| File | Le modifiche ai file in un workspace non influiscono sugli altri |
| Staging | Ogni 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.
| Caratteristica | Descrizione |
|---|---|
| Posizione | La posizione originale del tuo git clone o init |
| Branch principale | Di solito sul branch main o di sviluppo |
| Punto di riferimento | Origine 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
| Pratica | Perché |
|---|---|
| Elimina i workspace dopo il rebase | Libera spazio su disco |
| Rimuovi gli esperimenti abbandonati | Mantiene gestibile l'elenco dei workspace |
| Mantieni ragionevole il numero di workspace | Le risorse di sistema sono finite |
Igiene di Git
| Pratica | Perché |
|---|---|
| Esegui commit frequenti | Esegui il commit del lavoro in corso prima di cambiare workspace |
| Commit piccoli | I commit più piccoli sono più facili da selezionare con cherry-pick |
| Sincronizza regolarmente con la base | Non lasciare che i workspace divergano troppo dal branch principale |
| Riduci la complessità dei conflitti | L'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.