Ir al contenido principal

Cómo usar Git Rebase: tutorial para principiantes

Descubre qué es Git Rebase y cómo usarlo en tus flujos de trabajo de ciencia de datos.
Actualizado 17 sept 2026  · 8 min leer

Explorar con IA

ChatGPTClaudePerplexity

A medida que la ciencia de datos, la ingeniería de datos y el machine learning se vuelven omnipresentes en casi todos los aspectos del día a día de una empresa, los profesionales de datos ya no pueden trabajar en una burbuja. Ahora, quienes trabajan con datos deben colaborar estrechamente con desarrolladores de software para llevar los proyectos de ciencia de datos a producción y escalar. Y eso implica incorporar a su conjunto de habilidades nuevas herramientas propias del desarrollo de software, como Git.

Git es una herramienta de control de versiones de código abierto. Permite a desarrolladores y profesionales de datos seguir de forma eficiente los cambios en los archivos de un proyecto, como scripts de Python y conjuntos de datos, de modo que el equipo tenga un registro de todas las modificaciones, sincronice tareas y colabore sin perder información. Un buen punto de partida con git es nuestro curso de introducción a Git.

Una de las funciones clave de Git es el uso de ramas. Las ramas permiten mantener varias versiones de un proyecto y seguir cada una de forma sistemática. En algún momento, quizás necesites integrar el trabajo de una rama en otra. Hay varias estrategias para combinar ramas, entre ellas los comandos git merge y git rebase.

El objetivo de este artículo es presentar git rebase, un comando que ayuda a integrar ramas moviendo una secuencia de commits desde una rama de origen encima de una rama de destino, normalmente la rama main.

Entender Git Rebase

Imagina que trabajas en un proyecto de ciencia de datos junto a otras personas del equipo y te encargas de desarrollar un dashboard con PowerBI a partir de datos recopilados en commits anteriores.

Como serás la persona responsable del dashboard, tiene sentido crear una rama específica. Mientras tanto, el resto del equipo puede seguir actualizando la rama principal con nuevos commits. La situación sería así:

Creación de una rama para una nueva funcionalidad

Figura 1. Fuente

Ahora imagina que los últimos commits en la rama principal son relevantes para tu rama. Por ejemplo, es posible que hayan añadido nuevos datasets que enriquecerán tu dashboard. En este caso, necesitas incorporar esos commits a tu rama. Hay dos formas de hacerlo: con un merge o con un rebase.

Si combinas las ramas con el comando git merge, crearás en tu rama un nuevo commit de fusión que integra los últimos cambios de main con los de tu propia rama.

Fusión de ramas.

Figura 2. Fuente

git merge es una operación no destructiva: el historial de ambas ramas no cambia. Esto es bueno para la trazabilidad, pero también añade complejidad a tu rama, ya que quizá tengas que incorporar continuamente nuevos commits ajenos desde main, especialmente si la rama principal está muy activa. También puede provocar conflictos de fusión, como se explica en este artículo sobre cómo resolver conflictos de merge.

Por otro lado, si usas git rebase, moverás toda tu rama encima de la rama principal. Esta operación reescribe el historial del proyecto insertando nuevos commits por cada commit que creaste en tu rama. El resultado sería así:

Rebase de ramas

Figura 3. Fuente

git rebase es una gran opción para mantener el proyecto claro y ordenado. Al mover toda la rama de funcionalidad a la punta de main, el historial del proyecto cambia y se vuelve perfectamente lineal, lo que facilita navegar por él. Además, git rebase elimina los commits de fusión extra que requiere git merge.

Sin embargo, git rebase también puede generar conflictos y ciertos riesgos. Como cambia el historial de commits y no crea commits de fusión, puede resultar difícil identificar cuándo se incorporaron los cambios, lo que afecta a la trazabilidad. Más importante aún: si, por accidente o descuido, el uso de git modifica el historial de la rama principal y luego haces push al repositorio remoto, podrías introducir cambios inesperados que choquen con el trabajo de otras personas. Por tanto, usa git rebase con cuidado y solo en determinadas circunstancias.

¡Veamos ahora cómo funciona git rebase en la práctica!

Ejecutar Git Rebase

Para ilustrar cómo funciona git rebase, vamos a replicar el ejemplo de la sección anterior. Si trabajas en un proyecto colaborativo, lo primero es obtener y descargar el contenido del repositorio remoto donde está alojado el proyecto (normalmente en la nube o en un servidor remoto) y actualizar tu repositorio local con las últimas novedades, para estar alineado con el resto del equipo. Esto se hace con el comando git pull, que puedes ejecutar en la terminal:

git pull

Ahora ya puedes crear una rama nueva donde trabajarás en el dashboard de PowerBI. Hazlo con el siguiente comando:

git checkout -b powerbi_dashboard

Una vez creada la rama, empiezas a trabajar y registras tu progreso con varios commits. Por ejemplo, haces un nuevo commit tras reunir las visualizaciones que aparecerán en el dashboard.

git add .  
git commit -m "powerbi_dashboard/add_plots"

Mientras tanto, tus compañeros avanzan en la rama principal con cambios relevantes para tu proyecto de dashboard. De nuevo, lo primero es ejecutar git pull para traer las actualizaciones del repositorio remoto y copiarlas en tu repositorio local. Esto te llevará a la situación descrita en la Figura 1.

A partir de aquí, puedes optar por git merge o por git rebase. Si eliges la segunda opción, basta con ejecutar git rebase para mover tu rama encima de la rama principal.

git checkout -b powerbi_dashboard
git rebase main 

Rebase interactivo

Si no indicas información adicional, git rebase trasladará todos los commits de tu rama a la cabeza de la rama principal. Sin embargo, puedes usar el modo interactivo si quieres tener más control sobre cómo se mueven los commits. Así podrás limpiar tu historial antes de mover la rama a main y ganar claridad.

Para iniciar un rebase interactivo, añade la opción i al comando git rebase:

git checkout -b powerbi_dashboard
git rebase -i main

Se abrirá un editor donde podrás cambiar el comportamiento de git para cada commit que quieras rebasar. Entre las opciones disponibles están cambiar mensajes de commit, combinar commits o eliminar commits. La lista completa está en la documentación de git. A continuación puedes ver cómo se ve el editor:

pick 46s9451 powerbi_dashboard/add_plots #keep commit
reword 94561f6 powerbi_dashboard/set_data_connectors #edit commit message
drop 1f094y8 powerbi_dashboard/minor_changes #remove commit

Buenas prácticas con Git Rebase

git rebase es un comando útil, pero puede generar confusión si se usa en escenarios inadecuados. Como regla general, utilízalo solo en repositorios locales.

En particular, git rebase es muy práctico cuando trabajas en una rama dedicada al desarrollo de una funcionalidad concreta. En este contexto, te ayuda a mantener un historial de commits limpio y lineal, facilitando que otras personas sigan tu progreso cuando hagas push al repositorio remoto.

Aun así, puedes toparte con conflictos durante el rebase, sobre todo si llevas tiempo sin incorporar los commits de tus compañeros en la rama principal.

Esta situación, en la que tu rama entra en conflicto con los últimos commits de main, se soluciona haciendo rebase con frecuencia contra la rama principal. Así te aseguras de que todo el mundo trabaja sobre la misma base.

Por último, mejor prevenir que curar. Antes de plantearte usar git rebase, coméntalo con el resto del equipo para que te den pautas sobre cómo y dónde utilizarlo.

Conclusión

Has llegado al final del tutorial. ¡Enhorabuena! git rebase es un comando que merece un hueco en tus flujos de trabajo con git. Pero hay mucho más que aprender sobre Git, una herramienta imprescindible tanto para desarrolladores como para profesionales de datos.

Aquí tienes algunos recursos de DataCamp para que domines Git. ¡Esperamos que te resulten útiles!


Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Soy analista de datos autónomo y colaboro con empresas y organizaciones de todo el mundo en proyectos de ciencia de datos. También soy instructor de ciencia de datos con más de 2 años de experiencia. Escribo regularmente artículos relacionados con la ciencia de datos en inglés y español, algunos de los cuales se han publicado en sitios web consolidados como DataCamp, Towards Data Science y Analytics Vidhya Como científico de datos con formación en ciencias políticas y derecho, mi objetivo es trabajar en la interacción de las políticas públicas, el derecho y la tecnología, aprovechando el poder de las ideas para promover soluciones y narrativas innovadoras que puedan ayudarnos a abordar retos urgentes, como la crisis climática. Me considero autodidacta, aprendiz constante y firme partidaria de la multidisciplinariedad. Nunca es demasiado tarde para aprender cosas nuevas.

Temas
Ciencia de datos
Relacionado

Tutorial

Tutorial de GitHub y Git para principiantes

Un tutorial para principiantes que muestra cómo funciona Git y por qué es clave en proyectos de ciencia de datos.
Abid Ali Awan's photo

Abid Ali Awan

9 min

Tutorial

Tutorial de Git Revert y Git Reset para principiantes

Una guía tutorial para principiantes que muestra cómo utilizar los comandos Git Revert y Reset.
Zoumana Keita 's photo

Zoumana Keita

10 min

Tutorial

Tutorial de GIT Push y Pull

Aprende a realizar solicitudes de Git PUSH y PULL con GitHub Desktop y la línea de comandos.

Olivia Smith

13 min

Tutorial

Git pull force: Cómo sobrescribir una rama local con una remota

Aprende por qué git pull --force no es la mejor forma de sobrescribir una rama local con la versión remota, y descubre el método adecuado utilizando git fetch y git reset.

Tutorial

Git rename branch: Cómo cambiar el nombre de una rama local o remota

Aprende a renombrar ramas Git locales y remotas utilizando el terminal o la interfaz gráfica de usuario (GUI) de clientes populares como GitHub.

Tutorial

Git Prune: Qué es la poda Git y cómo usarla

La poda Git es un comando Git que elimina del repositorio los objetos que ya no son accesibles desde ninguna confirmación o rama, ayudando a liberar espacio en disco.
Ver MásVer Más