Verdent Docs
Funciones avanzadas

Aislamiento del espacio de trabajo

Aislamiento basado en worktrees de Git para experimentación paralela sin conflictos

El aislamiento del espacio de trabajo es el sistema de Verdent para garantizar que el trabajo paralelo nunca interfiera consigo mismo. Cada espacio de trabajo es un entorno de trabajo completamente independiente, aislado a nivel del sistema de archivos mediante git worktrees.


Lo que aprenderás

  • Cómo el aislamiento del espacio de trabajo previene conflictos
  • Cómo los git worktrees permiten el aislamiento
  • La diferencia entre el espacio de trabajo base y los espacios de trabajo
  • Cómo crear, cambiar y administrar espacios de trabajo
  • Mejores prácticas para la administración de espacios de trabajo

¿Qué es el aislamiento del espacio de trabajo?

El aislamiento del espacio de trabajo garantiza que los cambios de una tarea nunca afecten a otra. Prueba diferentes enfoques en paralelo, compara los resultados y rebasa selectivamente solo los cambios que quieras de vuelta a la rama principal.

Cómo funciona

CapaCómo funciona
DirectorioCada espacio de trabajo es un directorio aislado
RamaCada espacio de trabajo tiene su propio checkout de rama
ArchivosLos cambios de archivos en un espacio de trabajo no afectan a otros
StagingCada espacio de trabajo tiene su propia área de staging

Beneficios

Cero interferencia

Los agentes paralelos no pueden entrar en conflicto, es físicamente imposible

Experimentación segura

Prueba cambios arriesgados sin afectar el código estable

Comparación clara

Usa git diff para comparar enfoques entre espacios de trabajo

Rebase selectivo

Rebasa solo los resultados en los que confías


Espacio de trabajo base frente a espacios de trabajo

Espacio de trabajo base

El espacio de trabajo base es el checkout original de tu repositorio y sirve como punto de partida predeterminado.

CaracterísticaDescripción
UbicaciónLa ubicación original de tu git clone o init
Rama principalNormalmente en la rama main o de desarrollo
Punto de referenciaFuente para comparar el trabajo experimental

Cuándo usar el base:

  • Cambios rápidos que no necesitan aislamiento
  • Punto de referencia para comparar el trabajo experimental
  • Cuando quieres que los cambios vayan directamente a la rama principal
  • Tareas simples donde no se necesita ejecución paralela

Espacio de trabajo

Un espacio de trabajo es un entorno de trabajo aislado creado con git worktrees, con su propio checkout de rama independiente y su propio estado de archivos.

Cuándo usar un espacio de trabajo:

  • Desarrollo de funciones en paralelo
  • Experimentación con cambios arriesgados
  • Trabajo en múltiples tareas simultáneamente
  • Cuando quieres aislamiento antes de rebasar

Crear y administrar espacios de trabajo

Crear un nuevo espacio de trabajo

PlataformaAtajo
macOSCmd+Shift+N
WindowsCtrl+Shift+N

Qué sucede:

  1. Verdent crea un directorio aislado de git worktree
  2. Se crea una nueva rama (o se hace checkout de una rama existente)
  3. El espacio de trabajo queda completamente aislado de los demás espacios de trabajo
  4. El espacio de trabajo aparece en All Workspaces en la barra superior

Cambiar entre espacios de trabajo

AcciónmacOSWindows
Siguiente espacio de trabajoCtrl+TabCtrl+Tab
Espacio de trabajo anteriorCtrl+Shift+TabCtrl+Shift+Tab
Seleccionar espacio de trabajoSelecciona All Workspaces en la barra superiorSelecciona All Workspaces en la barra superior

Preservación del estado:

  • Verdent mantiene activos todos los estados de los espacios de trabajo
  • Cambia al instante sin retrasos de configuración
  • El contexto completo se conserva al cambiar

Rebasar los cambios del espacio de trabajo

Cuando estés listo para integrar los cambios del espacio de trabajo de vuelta a la rama principal:

Usar la interfaz de Verdent

Completa el trabajo

Completa el trabajo en el espacio de trabajo

Revisa los cambios

Selecciona Task Changes en el panel central para revisar todas las modificaciones

Rebasa a la rama principal

Selecciona Workspace Actions → Rebase to main branch en la barra del espacio de trabajo

Resuelve conflictos

Resuelve cualquier conflicto si se te solicita

Verifica

Revisa los cambios antes de confirmar

Mantener los espacios de trabajo actualizados

Usa Workspace Actions → Sync with main branch para traer los últimos cambios de la rama principal a tu espacio de trabajo. Esto ayuda a prevenir conflictos grandes al rebasar.


Mejores prácticas

Convenciones de nomenclatura

PrácticaEjemplo
Nombres descriptivosfeature-auth, bugfix-123, experiment-caching
Incluir números de ticketJIRA-456-user-login
Mantener nombres cortosEvita nombres demasiado largos

Mantenimiento de los espacios de trabajo

PrácticaPor qué
Eliminar espacios de trabajo rebasadosLibera espacio en disco
Eliminar experimentos abandonadosMantén manejable la lista de espacios de trabajo
Mantener un número razonable de espacios de trabajoLos recursos del sistema son finitos

Higiene de Git

PrácticaPor qué
Haz commits con frecuenciaHaz commit del trabajo en curso antes de cambiar
Commits pequeñosLos commits más pequeños son más fáciles de hacer cherry-pick
Sincroniza con el base regularmenteNo dejes que los espacios de trabajo se alejen demasiado de la rama principal
Reduce la complejidad de los conflictosLa integración regular previene conflictos grandes

Preguntas frecuentes

¿Cuánto espacio en disco usa cada espacio de trabajo?

Cada espacio de trabajo duplica los archivos de trabajo, pero comparte el directorio .git. El uso de espacio equivale aproximadamente al tamaño de tu proyecto por cada espacio de trabajo. Los proyectos grandes con muchos espacios de trabajo paralelos usarán una cantidad significativa de espacio en disco.

¿Puedo eliminar un espacio de trabajo?

Sí. Elimina el espacio de trabajo a través de Verdent. Esto elimina el directorio, pero conserva cualquier trabajo del que se haya hecho commit en la rama.

¿Qué pasa con los cambios sin commit si elimino un espacio de trabajo?

Los cambios sin commit se pierden cuando se elimina un espacio de trabajo. Haz siempre commit o stash de los cambios antes de eliminar un espacio de trabajo.

¿Puedo convertir un espacio de trabajo en el espacio de trabajo base?

No hay una conversión directa, pero puedes rebasar todos los cambios del espacio de trabajo a la rama principal y luego eliminar el espacio de trabajo. El historial de la rama se conserva.

¿Los worktrees funcionan con todos los servicios de alojamiento de git?

Sí. Los worktrees de Git son una función estándar de git. Funcionan con GitHub, GitLab, Bitbucket y cualquier otro servicio de alojamiento de git.