git-reconciler
Sincroniza tu branch de trabajo con main/master de forma segura, detectando conflictos antes de mergear.
Triggers
| Frases que activan el skill |
|---|
| “sync con main” |
| “actualizar branch” |
| “traer cambios de main” |
| “reconciliar” |
| “merge main” |
| “hay conflictos?” |
¿Qué hace?
- Verifica estado actual (cambios sin commitear)
- Identifica branch principal (main o master)
- Fetch de cambios remotos sin aplicar
- Analiza divergencia entre branches
- Detecta conflictos potenciales antes de mergear
- Sugiere estrategia (merge vs rebase)
- Ejecuta sincronización con confirmación
- Maneja conflictos si ocurren
Análisis de divergencia
El skill interpreta la divergencia:
| Resultado | Significado |
|---|---|
0 0 | Sincronizados, nada que hacer |
5 0 | Main tiene 5 commits nuevos, tu branch está atrás |
0 3 | Tu branch tiene 3 commits, main no tiene nuevos |
5 3 | Divergencia: main tiene 5 nuevos, tu branch tiene 3 |
Estrategias
Merge (recomendado para branches compartidos)
git merge origin/main
- Preserva historial completo
- Crea commit de merge
- Seguro para branches con colaboradores
Rebase (recomendado para branches personales)
git rebase origin/main
- Historial lineal
- Requiere force push si ya pusheaste
- Mejor para branches limpios antes de PR
Detección de conflictos
El skill compara archivos modificados en ambos branches. Si hay archivos en común, hay riesgo de conflicto.
Tu branch modificó: src/utils/api.ts, src/components/Auth.tsx
Main modificó: src/utils/api.ts, src/components/Header.tsx
⚠️ Riesgo de conflicto en: src/utils/api.ts
Soporte para Worktrees
Si estás trabajando en un worktree (.worktrees/):
- Fetch funciona normal desde el worktree
- Merge/rebase normal
- El skill detecta automáticamente el contexto
Ejemplo de uso
Sincronizar feature branch
Usuario: "Necesito actualizar mi branch con main"
Tu branch `feature/auth` tiene 5 commits propios y main tiene 3 commits nuevos.
Archivos modificados en main: src/config.ts, README.md
Archivos modificados en tu branch: 3 archivos en src/components
No hay archivos en común, bajo riesgo de conflictos.
Estrategia recomendada: MERGE (tu branch ya fue pusheado)
¿Confirmás que haga merge de origin/main? [y/n]
Detectar conflictos
Usuario: "¿Hay conflictos con main?"
Hay riesgo de conflicto en:
- src/utils/api.ts (modificado en ambos branches)
Archivos solo en main: src/components/Header.tsx
Archivos solo en tu branch: src/components/Auth.tsx
Te recomiendo hacer merge ahora para resolver el conflicto antes de que crezca.
Comandos de referencia
| Acción | Comando |
|---|---|
| Ver estado | git status |
| Fetch sin merge | git fetch origin main |
| Ver divergencia | git rev-list --left-right --count origin/main...HEAD |
| Commits pendientes | git log HEAD..origin/main --oneline |
| Merge | git merge origin/main |
| Rebase | git rebase origin/main |
| Abortar merge | git merge --abort |
| Listar conflictos | git diff --name-only --diff-filter=U |
Herramientas disponibles
Bash- Ejecutar comandos gitRead- Leer archivos con conflictos