red action — porque toca tu repositorio principal.
El preview
Abrir el diálogo disparaworktree_merge_preview antes que nada. Muestra:
El
merge-tree es el punto: TYBA sabe si va a haber conflicto sin hacer el merge, sin checkout, sin stash, sin tocar tu directorio de trabajo.
Las tres trabas
El botón Merge into base queda apagado, con el motivo escrito, en tres casos:No hay nada que mergear. Nothing to merge: no commits beyond the base. O la sesión está en la propia branch base, y entonces no hay nada que hacer.
Estrategia
El core acepta un mensaje custom, pero el diálogo no tiene campo para él. Hoy el mensaje es siempre el automático.
Confirmar
Dos clics. El primero arma (Confirm merge?, el botón se pone rojo), el segundo ejecuta. Y lo que ejecuta no esgit merge:
merge-tree. El commit se crea directo y la base avanza por fast-forward. Si la base cambió entre el preview y el clic, el --ff-only falla y ves The base branch moved during the merge — nothing changed, try again.
La base nunca queda a medio mergear. O el fast-forward pasa, o no pasó nada. No existe un estado intermedio que tengas que limpiar.
Materialize: cuando hay conflicto
Con el merge trabado por conflicto, el diálogo ofrece Resolve with agent. Hace la cosa al revés — y a propósito: Elmaterialize trae la base dentro del worktree de la sesión y deja que el merge pare en el conflicto. Los archivos en conflicto quedan ahí, con marcadores, y TYBA manda el prompt de resolución al agente de esa sesión.
Tu checkout no se toca en ningún momento. Resuelto el conflicto en la sesión, el merge local corre limpio.
Después del merge
El diálogo da lugar a Delivered — what about the worktree?:- Keep — el worktree sigue, la sesión sigue.
- Remove worktree and close session — dos clics, y desaparece.
Lo que no existe
Ver también
Pull requests
La otra salida — la que pasa por la forja.
Worktrees
Dónde se fijó la base, y qué queda después de remover.