Verdent Docs
Fonctionnalités avancées

Workspace Isolation

Git worktree-based isolation for parallel experimentation without conflicts

Workspace Isolation est le système de Verdent qui garantit que le travail parallèle n'interfère jamais avec lui-même. Chaque espace de travail est un environnement de travail totalement distinct, isolé au niveau du système de fichiers grâce aux git worktrees.


Ce que vous allez apprendre

  • Comment l'isolation des espaces de travail évite les conflits
  • Comment les git worktrees permettent cette isolation
  • La différence entre l'espace de travail de base et les espaces de travail
  • Créer, basculer entre et gérer des espaces de travail
  • Les bonnes pratiques de gestion des espaces de travail

Qu'est-ce que l'isolation des espaces de travail ?

L'isolation des espaces de travail garantit que les modifications d'une tâche n'affectent jamais une autre tâche. Testez différentes approches en parallèle, comparez les résultats et rebasez sélectivement uniquement les modifications que vous souhaitez réintégrer dans la branche principale.

Comment ça fonctionne

CoucheFonctionnement
RépertoireChaque espace de travail est un répertoire isolé
BrancheChaque espace de travail possède son propre checkout de branche
FichiersLes modifications de fichiers dans un espace de travail n'affectent pas les autres
Zone de stagingChaque espace de travail possède sa propre zone de staging

Avantages

Zéro interférence

Les agents parallèles ne peuvent pas entrer en conflit, c'est physiquement impossible

Expérimentation sécurisée

Testez des modifications risquées sans affecter le code stable

Comparaison claire

Utilisez git diff pour comparer les approches entre espaces de travail

Rebase sélectif

Ne rebasez que les résultats auxquels vous faites confiance


Espace de travail de base vs espaces de travail

Espace de travail de base

L'espace de travail de base est votre checkout de dépôt d'origine, servant de point de départ par défaut.

CaractéristiqueDescription
EmplacementVotre emplacement d'origine de clonage ou d'initialisation git
Branche principaleGénéralement sur la branche main ou de développement
Point de référenceSource pour comparer le travail expérimental

Quand utiliser l'espace de travail de base :

  • Pour des modifications rapides ne nécessitant pas d'isolation
  • Comme point de référence pour comparer le travail expérimental
  • Lorsque vous voulez que les modifications aillent directement sur la branche principale
  • Pour des tâches simples ne nécessitant pas d'exécution en parallèle

Espace de travail

Un espace de travail est un environnement de travail isolé créé à l'aide des git worktrees, avec son propre checkout de branche indépendant et son propre état de fichiers.

Quand utiliser un espace de travail :

  • Développement de fonctionnalités en parallèle
  • Expérimentation avec des modifications risquées
  • Travail sur plusieurs tâches simultanément
  • Lorsque vous souhaitez isoler le travail avant de rebaser

Créer et gérer des espaces de travail

Créer un nouvel espace de travail

PlateformeRaccourci
macOSCmd+Shift+N
WindowsCtrl+Shift+N

Ce qui se passe :

  1. Verdent crée un répertoire de worktree git isolé
  2. Une nouvelle branche est créée (ou une branche existante est extraite)
  3. L'espace de travail est totalement isolé des autres espaces de travail
  4. L'espace de travail apparaît dans Tous les espaces de travail dans la barre supérieure

Basculer entre les espaces de travail

ActionmacOSWindows
Espace de travail suivantCtrl+TabCtrl+Tab
Espace de travail précédentCtrl+Shift+TabCtrl+Shift+Tab
Sélectionner un espace de travailSélectionnez Tous les espaces de travail dans la barre supérieureSélectionnez Tous les espaces de travail dans la barre supérieure

Préservation de l'état :

  • Verdent maintient actifs tous les états des espaces de travail
  • Basculez instantanément sans délai de configuration
  • Le contexte complet est préservé lors du basculement

Rebaser les modifications d'un espace de travail

Lorsque vous êtes prêt à réintégrer les modifications de l'espace de travail dans la branche principale :

Utiliser l'interface de Verdent

Terminer le travail

Terminez le travail dans l'espace de travail

Vérifier les modifications

Sélectionnez Task Changes dans le panneau central pour vérifier toutes les modifications

Rebaser vers la branche principale

Sélectionnez Workspace Actions → Rebase to main branch dans la barre d'espace de travail

Résoudre les conflits

Résolvez les éventuels conflits signalés

Vérifier

Vérifiez les modifications avant de confirmer

Maintenir les espaces de travail à jour

Utilisez Workspace Actions → Sync with main branch pour récupérer les dernières modifications de la branche principale dans votre espace de travail. Cela permet d'éviter des conflits importants lors du rebase.


Bonnes pratiques

Conventions de nommage

PratiqueExemple
Noms descriptifsfeature-auth, bugfix-123, experiment-caching
Inclure les numéros de ticketJIRA-456-user-login
Garder des noms courtsÉvitez les noms trop longs

Maintenance des espaces de travail

PratiquePourquoi
Supprimer les espaces de travail rebasésLibérer de l'espace disque
Retirer les expérimentations abandonnéesGarder une liste d'espaces de travail gérable
Maintenir un nombre raisonnable d'espaces de travailLes ressources système sont limitées

Hygiène Git

PratiquePourquoi
Commiter fréquemmentCommittez le travail en cours avant de basculer
Petits commitsLes commits plus petits sont plus faciles à cherry-pick
Synchroniser régulièrement avec la baseNe laissez pas les espaces de travail trop diverger de la branche principale
Réduire la complexité des conflitsUne intégration régulière évite les conflits importants

FAQ

Quel espace disque utilise chaque espace de travail ?

Chaque espace de travail duplique les fichiers de travail mais partage le répertoire .git. L'utilisation d'espace correspond approximativement à la taille de votre projet par espace de travail. Les projets volumineux avec de nombreux espaces de travail en parallèle utiliseront un espace disque important.

Puis-je supprimer un espace de travail ?

Oui. Supprimez l'espace de travail via Verdent. Cela supprime le répertoire mais préserve tout travail committé sur la branche.

Que se passe-t-il pour les modifications non committées si je supprime un espace de travail ?

Les modifications non committées sont perdues lorsqu'un espace de travail est supprimé. Committez ou remisez toujours vos modifications avant de supprimer un espace de travail.

Puis-je convertir un espace de travail en espace de travail de base ?

Il n'existe pas de conversion directe, mais vous pouvez rebaser toutes les modifications de l'espace de travail vers la branche principale, puis supprimer l'espace de travail. L'historique de la branche est préservé.

Les worktrees fonctionnent-ils avec tous les services d'hébergement git ?

Oui. Les worktrees Git sont une fonctionnalité git standard. Ils fonctionnent avec GitHub, GitLab, Bitbucket, et tout autre service d'hébergement git.