Aislamiento de espacios de trabajo
Cómo Verdent separa cambios de código paralelos con git worktrees
El aislamiento de espacios de trabajo separa los cambios de código paralelos a nivel del sistema de archivos con git worktrees. Un espacio de trabajo tiene su propio directorio, checkout de rama, archivos y estado de staging.
La creación manual de espacios de trabajo no está expuesta en la interfaz actual de Verdent Desktop. El botón Nuevo espacio de trabajo, su atajo de teclado y Duplicar en nuevo espacio de trabajo están ocultos. Duplicar una respuesta crea la nueva tarea en el espacio de trabajo actual.
Qué aprenderás
- Cómo el aislamiento de espacios de trabajo evita conflictos
- Cómo git worktrees habilita el aislamiento
- Diferencia entre el espacio de trabajo base y los espacios de trabajo
- Cómo aparecen en la interfaz los espacios de trabajo existentes y los gestionados por Verdent
- Buenas prácticas para gestionar espacios de trabajo
Qué es el aislamiento de espacios de trabajo?
Cuando Verdent ejecuta trabajo en espacios de trabajo separados, los cambios de un worktree no modifican los archivos ni el estado de staging de otro worktree. Esto hace que la implementación y la revisión en paralelo sean más seguras.
Cómo funciona
| Capa | Cómo funciona |
|---|---|
| Directorio | Cada espacio de trabajo es un directorio aislado |
| Rama | Cada espacio de trabajo tiene su propio checkout de rama |
| Archivos | Los cambios de archivos en un espacio de trabajo no afectan a los demás |
| Staging | Cada espacio de trabajo tiene su propia área de staging |
Beneficios
Sin interferencias
Los cambios de archivos permanecen en directorios de worktree separados
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
Aplica rebase solo a 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ística | Descripción |
|---|---|
| Ubicación | La ubicación original de tu git clone o init |
| Rama principal | Normalmente en main o en una rama de desarrollo |
| Punto de referencia | Fuente para comparar trabajo experimental |
Cuándo usar el espacio de trabajo base:
- Cambios rápidos que no necesitan aislamiento
- Punto de referencia para comparar trabajo experimental
- Cuando quieres que los cambios vayan directamente a la rama principal
- Tareas simples en las que no se necesita ejecución en paralelo
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 estado de archivos.
Verdent puede usar un espacio de trabajo cuando un flujo de trabajo compatible necesita cambios de código aislados. Los espacios de trabajo existentes permanecen asociados con su proyecto y pueden contener varias tareas.
Trabajar con espacios de trabajo existentes
Los espacios de trabajo que ya pertenecen a un proyecto permanecen agrupados con ese proyecto en el panel Proyectos. Selecciona un espacio de trabajo para ver sus tareas y el estado de sus archivos.
- Las tareas dentro del mismo espacio de trabajo comparten sus archivos, pero mantienen contexto de conversación separado.
- Cambiar a otro espacio de trabajo cambia el worktree activo y el contexto de la rama.
- Duplicar una respuesta mantiene la tarea duplicada en el espacio de trabajo actual.
- Elimina un espacio de trabajo solo después de confirmar, aplicar rebase o conservar de otra forma el trabajo que necesitas.
Aplicar rebase a cambios del espacio de trabajo
Cuando estés listo para integrar los cambios del espacio de trabajo de vuelta en la rama principal:
Usar la interfaz de Verdent
Completa el trabajo
Completa el trabajo en el espacio de trabajo
Revisa los cambios
Selecciona Cambios de la tarea en el panel central para revisar todas las modificaciones
Aplica rebase a la rama principal
Selecciona Acciones del espacio de trabajo → Aplicar rebase a la rama principal 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 Acciones del espacio de trabajo → Sincronizar con la rama principal para traer los cambios más recientes de la rama principal a tu espacio de trabajo. Esto ayuda a evitar conflictos grandes al aplicar rebase.
Buenas prácticas
Mantenimiento de espacios de trabajo
| Práctica | Motivo |
|---|---|
| Elimina espacios de trabajo con rebase aplicado | Libera espacio en disco |
| Elimina experimentos abandonados | Mantén la lista de espacios de trabajo manejable |
| Mantén una cantidad razonable de espacios de trabajo | Los recursos del sistema son finitos |
Higiene de Git
| Práctica | Motivo |
|---|---|
| Haz commits con frecuencia | Confirma el trabajo en curso antes de cambiar de contexto |
| Commits pequeños | Los commits más pequeños son más fáciles de aplicar con cherry-pick |
| Sincroniza con la base regularmente | No dejes que los espacios de trabajo se alejen demasiado de la rama principal |
| Reduce la complejidad de los conflictos | La integración regular evita 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 en paralelo usarán una cantidad significativa de espacio en disco.
Puedo eliminar un espacio de trabajo?
Sí. Elimina el espacio de trabajo mediante Verdent. Esto elimina el directorio, pero conserva cualquier trabajo confirmado en la rama.
Cómo creo un nuevo espacio de trabajo?
La creación manual no está disponible en la interfaz Desktop actual. La entrada Nuevo espacio de trabajo y el atajo están ocultos. Verdent todavía puede usar espacios de trabajo internamente para flujos de trabajo aislados compatibles.
Qué ocurre con los cambios sin confirmar si elimino un espacio de trabajo?
Los cambios sin confirmar se pierden cuando se elimina un espacio de trabajo. Siempre confirma o guarda temporalmente los cambios antes de eliminar un espacio de trabajo.
Puedo convertir un espacio de trabajo en el espacio de trabajo base?
No hay conversión directa, pero puedes aplicar rebase a todos los cambios del espacio de trabajo hacia 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 hosting 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 hosting de git.