Skip to main content
Por defecto, tu directorio local lee el borrador del proyecto: las mismas filas que edita Studio, vivas y mutables. Con ramas puedes trabajar contra una versión publicada en su lugar, probar en un canal aparte y llevar el resultado a producción cuando esté listo, sin que nadie más vea el trabajo a medias. Una rama guarda commits. Un commit es una foto inmutable de todos los workflows del proyecto, y es lo que un canal sirve a tus usuarios.
Esta página asume que ya vinculaste el directorio con jelou link y bajaste los workflows con jelou pull. Si aún no lo hiciste, empieza por Proyectos y canales.

Los dos orígenes

Tu directorio lee de un solo lugar a la vez, y jelou status lo dice en la primera línea. El borrador es el origen por defecto y es lo que describe el resto de la documentación del CLI. Todo lo de abajo es lo que cambia cuando trabajas en una rama.

Moverte entre orígenes

jelou checkout <rama> reescribe tus archivos con lo que esa rama sirve. Por eso se niega si tienes ediciones sin publicar: súbelas primero, o descártalas con jelou pull --accept-server. jelou checkout -b <nombre> es la excepción y no toca ningún archivo. Crea la rama desde el commit que estás leyendo y se lleva tu trabajo en progreso, así que es la forma de decir “esto que tengo a medias va a ser una rama”.
draft es un nombre reservado, para que jelou checkout draft no sea ambiguo. No puedes crear una rama con ese nombre.

Publicar en una rama

Estando en una rama, jelou push cambia de significado: en lugar de escribir el borrador, publica un commit y mueve la rama hacia él.
Tres cosas que conviene saber:
  • El borrador no se toca. Nada de lo que publiques en una rama aparece en Studio hasta que promuevas a la rama que Studio lee.
  • Solo se envía lo modificado. Los workflows y canales que no tocaste conservan la versión que la rama ya servía, así que publicar un archivo produce un commit completo igual.
  • El nombre del commit es obligatorio. Úsalo para saber qué contiene cuando lo veas en el historial.
jelou push se niega si la rama avanzó desde tu último pull. Alguien más publicó mientras tanto y tu commit se construiría encima de trabajo que no has visto. Haz jelou pull, revisa y vuelve a intentar.

Conversaciones en curso

Publicar mueve las conversaciones que están a mitad de camino a la versión nueva en su siguiente turno. Si prefieres que terminen con la versión con la que empezaron, publica con --keep-pinned.
Solo aplica al publicar a master, porque el ajuste es del proyecto entero y no de una rama en particular.

Llevar el trabajo a otra rama

jelou promote hace que otra rama sirva el commit en el que estás. La promoción aparece en el historial de la rama destino con su propio identificador, y tu directorio no cambia: sigues en tu rama, en tu commit.
El commit del destino recibe un identificador distinto al de origen. Es una copia, no el mismo commit apuntado desde dos lados, y por eso queda registrado en la historia de ambas ramas.
Se niega si tienes trabajo local que el commit no contiene — estarías promoviendo algo distinto de lo que ves en pantalla. Publica primero, o usa --allow-dirty si de verdad quieres promover lo publicado y dejar tus ediciones donde están.

Qué rama corre cada canal

Esto es independiente de lo que lee tu directorio. Un canal puede estar sirviendo master mientras tú trabajas en dev.
La columna Branch del listado muestra qué corre cada canal. En gris significa que nunca se fijó, así que sigue master. set-branch surte efecto de inmediato en las conversaciones nuevas. Se niega si la rama no tiene nada publicado todavía.
Apunta un canal de pruebas a tu rama y deja los de producción en master. Así pruebas con mensajes reales sin que ningún usuario vea el cambio.

Un ciclo completo

1

Crea la rama y edita

La rama sale del commit que estás leyendo y se lleva tu trabajo en progreso.
2

Publica el primer commit

El borrador no se toca: nada de esto aparece en Studio todavía.
3

Prueba en un canal

Escríbele al canal y verifica el comportamiento con mensajes reales. Repite los pasos anteriores hasta que quede como quieres.
4

Promueve a producción

Ahora master sirve el mismo commit que probaste.
5

Devuelve el canal de pruebas

Así vuelve a seguir producción y queda libre para la siguiente rama.

Una rama sin nada publicado

Un proyecto nuevo nace con master vacía, y crear una rama desde ahí es perfectamente válido. Tu directorio queda apuntando a una rama sin commits — jelou status lo llama nothing published yet — y el primer jelou push escribe su commit inicial. Leer una rama vacía no es un error. Distinto es pedir una rama que no existe, que sí falla.

Qué necesita el borrador

Estos comandos escriben el borrador, así que se niegan mientras leas una rama. Vuelve con jelou checkout draft para usarlos. Después de un jelou push en una rama no hay nada más que ejecutar: el commit existe y la rama ya apunta a él. Al revés también aplica: jelou promote necesita estar en una rama, porque el borrador no tiene ningún commit que promover.

Workflows en TypeScript

Si adoptaste un workflow a TypeScript con jelou workflow adopt, ese archivo es la fuente y el CLI nunca escribe JSON encima, ni siquiera al cambiar de rama. Cuando el .ts difiere de lo que la rama sirve, jelou pull te lo dice y jelou status lo marca como modificado. A partir de ahí decides:
  • Publicar el tuyojelou push, que lo sube como un commit nuevo.
  • Quedarte con el de la rama — borra el .ts y vuelve a hacer jelou pull.