# Git worktrees para agentes de IA en paralelo

URL: https://agentvera.dev/es/blog/git-worktree-parallel-agents/ · Publicado: 2026-09-28

Usa git worktrees para agentes de IA en paralelo: un árbol de trabajo por agente, sin conflictos y con cada turno reversible. Comandos y flujo de trabajo.

**En resumen:**

- Un git worktree abre otra rama del mismo repositorio en su propia carpeta con el historial compartido; da su propio worktree a todo agente que corra riesgo de conflictos.
- AgentVera guarda una instantánea de la carpeta de trabajo en una ref oculta de git al inicio de cada turno y conserva las últimas 60 por agente, así que un turno se deshace sin tocar rama, índice ni stash.
- Cada worktree necesita sus propias dependencias y los archivos .env copiados, y los servidores de desarrollo en worktrees paralelos necesitan puertos distintos.

El desarrollo en paralelo con git worktree es la forma más limpia de ejecutar varios trabajos en un mismo repositorio sin mezclarlos. Con agentes de IA importa todavía más: si dos agentes trabajan en la misma carpeta, uno sobrescribe los cambios del otro, los tests se ejecutan contra código a medio hacer y nadie sabe qué cambio es de quién.

Este artículo explica qué son los git worktrees, cómo usarlos con agentes y cómo mantener reversible cada turno de un agente.

## ¿Qué es un git worktree?

Un git worktree abre una rama distinta del mismo repositorio en una carpeta separada, al mismo tiempo. Cada carpeta tiene sus propios archivos de trabajo, pero los datos de `.git` son compartidos. Un commit hecho en un worktree se ve desde los demás de inmediato.

Comparado con un clon:

| | Worktree | Clon aparte |
| --- | --- | --- |
| Uso de disco | Pequeño (el historial es compartido) | Todo el repositorio |
| Visibilidad de los commits | Inmediata | Necesita fetch/push |
| La misma rama en dos sitios | Bloqueado (seguro) | Posible (riesgo de confusión) |
| Configuración | Un comando | Clonar y configurar |

## Comandos básicos

Crea un worktree en una rama nueva:

```bash
git worktree add ../acme-web-auth -b auth-refactor
```

Abre un worktree a partir de una rama existente:

```bash
git worktree add ../acme-web-billing billing-v2
```

Lista y elimina worktrees:

```bash
git worktree list
git worktree remove ../acme-web-auth
git worktree prune
```

`prune` limpia los registros de worktrees cuyas carpetas se borraron a mano.

## Desarrollo en paralelo con git worktree: un árbol por agente

La regla para agentes en paralelo es simple: **da su propio worktree a todo agente que corra riesgo de conflictos.**

Un ejemplo de distribución:

| Agente | Tarea | Worktree | Rama |
| --- | --- | --- | --- |
| Architect (Claude Code) | Reestructuración de la autenticación | `../acme-web-auth` | `auth-refactor` |
| Frontend (Gemini CLI) | Página de ajustes | `../acme-web-settings` | `settings-ui` |
| Tester (Codex) | Tests de autenticación | `../acme-web-auth` | `auth-refactor` |

Tester comparte el worktree de Architect porque prueba el cambio de Architect y trabaja solo dentro de `tests/`. El agente de frontend trabaja en algo completamente distinto, en su propia rama.

Lo que consigues con esto:

- Los agentes nunca ven los archivos a medio escribir de los demás.
- Cada trabajo se fusiona a través de su propia rama y su propio pull request.
- Descartar un trabajo es tan fácil como borrar su rama.

## Gestionar worktrees en AgentVera

Puedes gestionar los worktrees desde la línea de comandos, pero se hace difícil seguirlos a medida que se multiplican los agentes. En AgentVera, la pestaña "Worktrees" del panel derecho te permite:

1. Crear un worktree a partir de una rama nueva o existente.
2. Ver el recuento de cambios de cada worktree, cuánto va por delante o por detrás de la rama principal y su último commit.
3. Iniciar un agente directamente en un worktree.
4. Bloquear, podar y eliminar a la fuerza un worktree, y borrar su rama.

Al crear un agente nuevo, también puedes elegir un worktree como su espacio de trabajo, y el panel del agente muestra su rama en una pequeña etiqueta. Los archivos Markdown que los agentes cambian en los worktrees aparecen en el panel "Specs" como planes y documentos.

## Mantén cada turno reversible

Los worktrees separan a los agentes entre sí. Pero ¿y si un agente va por mal camino dentro de su propio worktree?

La respuesta tradicional es hacer commit a menudo, pero hacer commit de cada paso de un agente ensucia el historial. Los [turnos](/es/features/checkpoints-and-replay/) de AgentVera toman otro camino:

- Al inicio de cada turno, una instantánea de la carpeta de trabajo va a una ref oculta de git.
- Tu rama, tu índice y tu stash no se tocan.
- Se conservan los últimos 60 turnos por agente.
- Desde **Turns** en el menú Options del panel, ves los archivos que cambió un turno.
- **Undo this turn** revierte los cambios de ese turno, y también puedes deshacer el deshacer.

Así puedes dejar que un agente pruebe cosas con libertad: si no te gusta el resultado, estás a un clic del estado anterior.

## Antes de fusionar

Antes de llevar el trabajo terminado de las ramas paralelas a la rama principal:

- Ejecuta los tests en cada worktree.
- Revisa los diffs; la [revisión de código automática](/es/blog/ai-code-review/) lo acelera.
- Ordena los mensajes de commit. El [panel Git](/es/features/git-and-github/) de AgentVera puede escribir un mensaje con el estilo de tu repositorio a partir del diff preparado, con Claude Haiku.
- Haz push de la rama y abre un pull request; la tarjeta de GitHub del panel Git muestra el pull request de la rama actual o abre uno nuevo.

## Errores comunes

- **Abrir la misma rama en dos worktrees.** Git no lo permite, y eso es una salvaguarda.
- **Dejar registros de carpetas borradas.** Límpialos con `git worktree prune`.
- **Olvidar node_modules.** Cada worktree necesita sus propias dependencias instaladas.
- **Tratar los turnos de los agentes como commits.** Los turnos son para deshacer; sigue haciendo commit para tener un historial duradero.

## Un día de ejemplo: tres agentes, dos ramas

Hagámoslo concreto con una jornada de trabajo.

### Mañana: preparación

La carpeta principal tiene `main` en checkout. Hay dos trabajos: una reestructuración de la autenticación y una página de ajustes. Abres dos worktrees:

```bash
git worktree add ../acme-web-auth -b auth-refactor
git worktree add ../acme-web-settings -b settings-ui
```

Instala las dependencias en cada uno:

```bash
cd ../acme-web-auth && pnpm install
cd ../acme-web-settings && pnpm install
```

Architect y Tester empiezan en el worktree de `auth-refactor`; el agente de frontend empieza en `settings-ui`.

### Mediodía: un turno sale mal

Mientras edita la página de ajustes, el agente de frontend también cambia el estilo de un componente compartido. Eso queda fuera de su alcance. En la lista de Turns ves los archivos que cambió el último turno, deshaces el turno y le dices al agente que no toque el componente compartido. El historial de la rama se mantiene limpio, porque deshacer no es un commit; es volver a la instantánea de la ref oculta.

### Tarde: fusionar

Cuando termina el trabajo de autenticación, ejecutas los tests, compruebas la revisión y haces push de la rama. Si la página de ajustes no está terminada, su worktree sigue abierto y el agente continúa en la misma carpeta al día siguiente. Cuando cierras y vuelves a abrir la app, AgentVera devuelve a los agentes de Claude y Codex a la misma conversación a partir del historial del CLI.

## Detalles del entorno a vigilar en los worktrees

Los tropiezos más comunes con worktrees paralelos tienen que ver con el entorno, no con el código:

- **Choques de puertos:** si ejecutas un servidor de desarrollo en dos worktrees a la vez, no dejes que ambos pidan el mismo puerto. Dales puertos distintos mediante variables de entorno.
- **Archivos de entorno:** los archivos que no están en git, como `.env`, no aparecen solos en un worktree nuevo; cópialos.
- **Base de datos:** si dos ramas llevan migraciones distintas, compartir una sola base de datos local puede dar problemas.

El panel "Ports" de AgentVera muestra los puertos a la escucha y qué agente inició cada uno, para que sepas qué worktree abrió qué servidor.

## Copiar un agente y bifurcar la conversación

A veces quieres probar el mismo problema de dos maneras. Cuando copias un agente en AgentVera, su herramienta, cuenta, modelo, esfuerzo, rol, grupo y worktree se copian tal cual, y también puedes bifurcar el historial de la conversación (`--fork-session` para Claude, `fork` para Codex).

Combinado con los worktrees, eso te da una configuración de experimento potente: ejecuta dos agentes bifurcados de la misma conversación en dos worktrees, compara los resultados y fusiona la rama que te guste. Borrar la otra rama limpia el experimento sin dejar rastro.

## Lista de comprobación

- [ ] ¿Tiene su propio worktree cada agente que corre riesgo de conflictos?
- [ ] ¿Están instaladas las dependencias en cada worktree?
- [ ] ¿Dicen los roles de los agentes en qué carpetas trabajan?
- [ ] ¿Se hicieron tests y una revisión antes de fusionar?

## Conclusión

El desarrollo en paralelo con git worktree mantiene a los agentes físicamente separados, y los turnos mantienen reversibles los cambios de cada agente. Juntos son la base para trabajar con seguridad con varios agentes.

AgentVera reúne worktrees, turnos y el panel Git en una sola ventana. Léelo junto con [agentes de programación en paralelo](/es/blog/parallel-coding-agents/), o [empieza con el plan gratuito](/es/).

## Preguntas frecuentes

**¿Qué es un git worktree?** Una función de git que abre distintas ramas del mismo repositorio en carpetas separadas al mismo tiempo. Cada carpeta tiene sus propios archivos de trabajo; el historial del repositorio es compartido.

**¿En qué se diferencia un worktree de un clon?** Un clon es una copia completa del repositorio. Un worktree comparte los mismos datos de .git, ocupa menos espacio y los commits se ven en todas las ramas al instante.

**¿Cómo deshago uno de los turnos de un agente?** AgentVera guarda una instantánea de la carpeta de trabajo en una ref oculta de git al inicio de cada turno. Desde Options → Turns ves los archivos que cambió un turno y lo deshaces.

**¿Deshacer un turno afecta a mi rama o a mi stash?** No. Las instantáneas viven en una ref oculta; tu rama, tu índice y tu stash no se tocan.

---

**Sobre AgentVera.** AgentVera es una app de escritorio para macOS, Windows y Linux, desarrollada por Solviera Teknoloji. Ejecuta 18 agentes de programación con IA (Claude Code, Codex, Gemini CLI, Copilot, Cursor, Antigravity, opencode, Hermes, Qwen Code, Kimi Code, Kiro, Amp, Droid, Goose, Vibe, Crush, Aider, Cline) en paralelo, por proyecto, en terminales reales con las instalaciones y sesiones de CLI del propio usuario. El plan gratuito tiene agentes ilimitados. Descargar: https://agentvera.dev/es/download/ · Precios: https://agentvera.dev/es/pricing/
