Control de Versiones con jj: Enviar y Pulir tu PR

Guía práctica para crear Pull Requests con JJ, editar commits con squash y descripciones claras, y mantener un historial limpio actualizando PRs en GitHub.

31 ago 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Introducción

En la primera parte de esta serie vimos cmo configurar un repositorio con jj y hacer nuestro primer push a GitHub. Hablamos brevemente de commit y bookmarks en jj. Si no conoces esos trminos conviene repasar esa entrega antes de continuar.

En este artculo explicaremos cmo crear un Pull Request y cmo editarlo fcilmente usando jj, manteniendo un historial limpio y sin generar commits de correccin innecesarios.

Nota sobre identificadores cortos de commit: en mi configuracin he acortado el id de un commit de jj a 4 caracteres ajustando format_short_id(id) = id.shortest(4) en template-aliases.

0: Amigos antiguos, nuevos y commits inmutables

Antes de nada ejecuta jj log para comprobar el estado tras el primer push. jj marca algunos commits como inmutables para proteger el historial compartido. En la salida veras un signo de interrogacin segn el root commit y a veces un tilde que indica que hay ms commits disponibles. Para ver todo ejecuta jj log -r all().

Los commits inmutables no se pueden editar con operaciones normales y jj los oculta por defecto dejando visible solo el ltimo inmutable. Intentar editar uno de esos commits produce un error indicando que el commit es inmutable y que la operacin reescribira commits inmutables, por eso esa operacin es peligrosa y suele requerir un force push, que no vamos a recomendar aqu.

1: Crear un Pull Request

Como ejemplo envolvamos nuestro saludo en una funcin con un error ortogrfico intencional. Despus de modificar el c digo hacemos un commit con jj commit -m my first pr. Podemos crear un bookmark manualmente o dejar que jj lo genere al empujar. Usando jj git push --change t jj creara un bookmark sobre esa revisin y al empujar generar un enlace para abrir el Pull Request en GitHub.

Al empujar veras un mensaje indicando la creacin de un bookmark y una URL que puedes visitar para crear el PR en GitHub. Esto facilita el flujo porque no tienes que gestionar ramas manualmente para cada cambio pequeo.

2: Editar el PR en base a la revisin

Las revisiones de c digo suelen implicar va y vuelta de cambios. Si un compaero te pide corregir el error ortogrfico puedes editar el c digo en la copia de trabajo. Comprueba los cambios con jj diff para ver cmo quedan los archivos modificados. En este punto la copia de trabajo est un commit por delante del commit que subiste al PR.

Para mover esa correccin hacia abajo y aplicarla al commit original usa jj squash. Esta operacin combina la correccin con el commit al que pertenece el PR, manteniendo un historial ms limpio y evitando commits de compromiso como Fix typo. Tras hacer squash veras que el bookmark asociado al PR muestra un indicador de cambio. Empuja los cambios con jj git push para actualizar la rama remota y el PR en GitHub.

Cambiar el mensaje del commit

Si tambin quieres renombrar el mensaje del commit y con ello el ttulo del PR puedes usar jj describe -r t -m Refactor to hello() donde t es el identificador corto o referencia a la revisin. Luego ejecuta jj git push de nuevo y la actualizacin se reflejara en el PR. Gracias a estas herramientas puedes iterar sobre un PR sin ensuciar el historial con muchos commits de correccin.

Conclusin y siguiente paso

Con jj es sencillo crear un PR, corregir errores solicitados por revisiones y mantener un historial claro usando squash y editar descripciones. En futuros artculos exploraremos cmo sincronizar cambios remotos cuando otras personas tambi n estn modificando el repositorio y cmo resolver divergencias entre remoto y local.

Sobre Q2BSTUDIO

Q2BSTUDIO es una empresa de desarrollo de software dedicada a aplicaciones a medida y software a medida para clientes que buscan soluciones personalizadas y escalables. Somos especialistas en inteligencia artificial e implementamos soluciones de ia para empresas, agentes IA y modelos que automatizan procesos y mejoran la toma de decisiones. Tambin ofrecemos servicios de ciberseguridad para proteger infraestructuras y datos, adem s de servicios cloud aws y azure para desplegar aplicaciones seguras y eficientes. En el mbito de datos y anl tica proporcionamos servicios inteligencia de negocio y desarrollos con power bi para convertir datos en informacin accionable.

Nuestros servicios incluyen consultora especializada en aplicaciones a medida, integraciones de software a medida, despliegues en servicios cloud aws y azure, soluciones de inteligencia artificial adaptadas a necesidades de negocio, agentes IA conversacionales, estrategias de ciberseguridad y proyectos de inteligencia de negocio con power bi. Si buscas una empresa que combine experiencia t cnica y enfoque en resultados Q2BSTUDIO puede ayudarte a llevar tu proyecto al siguiente nivel.

Palabras clave para mejorar posicionamiento

aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.