0Pricing
DevOps Bootcamp · Lección

Rebase interactivo para el historial

Use el rebase interactivo para reescribir el historial de commits, combinar commits, cambiar su orden o editar sus mensajes antes de hacer push.

Rebase interactivo para el historial es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

Conozca el rebase interactivo

¡Le damos la bienvenida a una potente herramienta de Git: el rebase interactivo! Le permite reescribir el historial de confirmaciones de su proyecto antes de compartirlo con otras personas.

Considérelo una máquina del tiempo para sus confirmaciones, que le permite depurar, combinar u ordenar los cambios para crear un historial claro y lineal de su trabajo.

¿Por qué limpiar el historial?

¿Por qué querría reescribir el historial?

  • Claridad: haga que el registro de confirmaciones de su proyecto sea fácil de leer y entender.
  • Concisión: combine confirmaciones pequeñas e incrementales en un único cambio significativo.
  • Depuración: un historial limpio resulta útil al emplear herramientas como git bisect para encontrar dónde se introdujo un error.
  • Mejores solicitudes de incorporación de cambios: presente a sus colaboradores un conjunto de cambios pulido.

Iniciar un rebase interactivo

Para iniciar un rebase interactivo, utilizará el comando git rebase -i. Debe especificar hasta qué punto desea retroceder.

Por ejemplo, para aplicar un rebase a las últimas 3 confirmaciones de su rama actual, usaría:

git rebase -i HEAD~3

Esto abre un editor que muestra sus últimas 3 confirmaciones y los comandos disponibles.

Comandos del editor de rebase

Al iniciar un rebase interactivo, Git abre un editor de texto con una lista de confirmaciones e instrucciones. Cada confirmación comienza con un comando:

  • pick: usa la confirmación tal cual.
  • reword: usa la confirmación, pero edita su mensaje.
  • edit: usa la confirmación, pero pausa el proceso para modificar los cambios.
  • squash: combina la confirmación con la anterior y fusiona los mensajes.
  • fixup: combina la confirmación con la anterior y descarta el mensaje de esta confirmación.
  • drop: elimina la confirmación por completo.

Ejemplo: cambiar el mensaje de una confirmación

Supongamos que ha cometido un error tipográfico en el mensaje de una confirmación. Puede usar reword para corregirlo. Cambie pick por reword junto a la confirmación que desea modificar:

pick 5a6b7c8 Add new feature
pick 1d2e3f4 Fix typo in docs
reword 9g0h1i2 Implement login screen

Después de guardar y cerrar el editor, Git le solicitará que edite el mensaje de la confirmación 9g0h1i2.

Ejemplo: combinar confirmaciones

A menudo se crean varias confirmaciones pequeñas y relacionadas que podrían constituir una sola. Use squash para combinarlas.

pick a1b2c3d Initial feature commit
squash e4f5g6h Add more details
fixup i7j8k9l Fix small bug

Aquí, e4f5g6h se fusionará con a1b2c3d, combinando sus mensajes. i7j8k9l también se fusionará con a1b2c3d, pero su mensaje se descartará (fixup).

Ejemplo: eliminar confirmaciones

Si tiene una confirmación experimental que ya no necesita, puede simplemente eliminarla del historial con drop. Solo tiene que cambiar pick por drop o eliminar la línea por completo:

pick 1122334 Initial setup
drop 5566778 Test experimental feature
pick 9900112 Add user authentication

Después de guardar, la confirmación 5566778 se eliminará por completo del historial de su rama.

Ejemplo: reordenar confirmaciones

También puede cambiar el orden de las confirmaciones. Simplemente corte y pegue las líneas en el editor para reorganizarlas. Git aplicará los cambios en el nuevo orden.

Orden original:

pick abcdef1 Add feature A
pick 1234567 Add feature B

Orden reordenado:

pick 1234567 Add feature B
pick abcdef1 Add feature A

Tenga cuidado, ya que reordenar las confirmaciones puede introducir conflictos si dependen unas de otras.

La regla de oro: ¡no haga rebase del historial compartido!

Esto es fundamental: nunca haga rebase de confirmaciones que ya se hayan enviado a un repositorio remoto compartido (como GitHub o GitLab) y que otras personas puedan haber descargado.

El rebase reescribe los identificadores de las confirmaciones. Si otras personas han basado su trabajo en las confirmaciones originales, las confirmaciones con rebase aparecerán como un historial completamente diferente, lo que provocará conflictos importantes y confusión para todos.

¡Haga rebase únicamente de las confirmaciones que existan solo en su rama local!

Comprobación de comandos de rebase

Tiene tres confirmaciones: A (Initial), B (Minor fix) y C (Refactor). Desea combinar B con A, conservando el mensaje original de A, y mantener C tal cual. ¿Qué comandos utilizaría en el editor de rebase interactivo, del más antiguo al más reciente?

Resumen del rebase interactivo

¡Ha aprendido sobre el potente comando git rebase -i!

  • Le permite reescribir el historial local de confirmaciones.
  • Puede cambiar mensajes con reword, combinar confirmaciones con squash o fixup, eliminar cambios no deseados con drop e incluso reordenar confirmaciones.
  • Recuerde siempre la regla de oro: NUNCA haga rebase de confirmaciones que ya se hayan enviado a un remoto compartido.

¡Dominar el rebase interactivo ayuda a mantener un historial del proyecto limpio y fácil de entender!

Preguntas frecuentes

¿La lección «Rebase interactivo para el historial» es gratis?

Sí — el texto completo de «Rebase interactivo para el historial» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Rebase interactivo para el historial»?

Use el rebase interactivo para reescribir el historial de commits, combinar commits, cambiar su orden o editar sus mensajes antes de hacer push. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Rebase interactivo para el historial»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Resolución manual de conflictos de merge
  2. Rebase interactivo para el historial
  3. Cherry-picking de commits
  4. Reutilización de resoluciones de conflictos con Git Rerere
← Volver a DevOps Bootcamp