Cómo unir (Squash) mis últimos N commit de Git

Cómo unir (Squash) mis últimos N commit de Git

Git es un sistema de control de versiones ampliamente utilizado en el desarrollo de software moderno. Se utiliza para realizar un seguimiento de los cambios realizados en un proyecto a lo largo del tiempo. En ocasiones, es posible que desees unir (Squash) tus últimos N commits en Git para mantener un historial de cambios más limpio y fácil de leer. En este artículo, te mostramos cómo hacer eso.

📋 Aquí podrás encontrar✍
  1. Qué es unir (Squash) los commits de Git
  2. ¿Cómo unir (Squash) mis últimos N commits de Git?
    1. Paso 1: Identificar el número de commits
    2. Paso 2: Crear una rama temporal
    3. Paso 3: Unir (Squash) los commits
    4. Paso 4: Completar el unir (Squash) de commits
  3. Ejemplo de unir (Squash) de commits
  4. Conclusión
  5. Preguntas frecuentes
    1. ¿Puedo unir (Squash) commits en una rama principal en lugar de una rama temporal?
    2. ¿Puedo unir (Squash) más de N commits?
    3. ¿Cómo puedo verificar si mis commits se han fusionado correctamente?

Qué es unir (Squash) los commits de Git

Unir (Squash) los commits de Git es una técnica utilizada para reducir el número de commits en un historial de Git. Básicamente, la idea es tomar varios commits y combinarlos en un solo commit. De esta manera, el historial de Git se vuelve más fácil de leer y más fácil de entender.

¿Cómo unir (Squash) mis últimos N commits de Git?

Sigue los siguientes pasos para unir (Squash) tus últimos N commits de Git:

Paso 1: Identificar el número de commits

Antes de comenzar a unir (Squash) tus commits, debes identificar cuántos commits deseas unir. Si deseas unir los últimos tres commits, por ejemplo, debes asegurarte de que tu rama tenga al menos tres commits.

Para identificar el número de commits, puedes usar el siguiente comando en la terminal:

git log --oneline

Este comando mostrará el historial de commits, cada uno en una sola línea.

Paso 2: Crear una rama temporal

Una vez que sepas cuántos commits deseas unir, crea una nueva rama temporal usando el siguiente comando en la terminal:

git branch temprama

Este comando creará una nueva rama temporal llamada "temprama".

Paso 3: Unir (Squash) los commits

Para unir (Squash) los commits, necesitas usar el siguiente comando en la terminal:

git rebase -i HEAD~N

Reemplaza "N" con el número de commits que deseas unir. Por ejemplo, si deseas unir los últimos tres commits, reemplaza "N" con "3".

Esto abrirá una pantalla con los últimos N commits en orden cronológico inverso. Puedes editar la línea de cada commit en la pantalla para controlar cómo se unen los commits.

Para unir (Squash) los commits, cambia la palabra "pick" en el segundo y siguientes commits a "squash" o "s". Puedes dejar el primer commit como "pick".

Después de hacer tus cambios, guarda y cierra el archivo.

Paso 4: Completar el unir (Squash) de commits

Una vez que hayas guardado y cerrado el archivo, Git combinará los commits en uno solo. Si todo ha ido bien, deberías ver un mensaje que indica que los commits se han fusionado correctamente.

Para completar el proceso de unir (Squash) commits, usa el siguiente comando en la terminal:

git push --force-with-lease

Este comando enviará los cambios a tu repositorio remoto y forzará la actualización de la rama temporal.

Ejemplo de unir (Squash) de commits

Supongamos que tienes un historial de Git que se ve así:

7b5237f Nuevo archivo de documentación
9ac75d2 Corrección de errores en el archivo de documentación
c3982e1 Nuevo archivo de funciones
0b247a0 Corrección de errores en el archivo de funciones

Si deseas unir los últimos dos commits, utilizarás el siguiente comando:

git rebase -i HEAD~2

Git abrirá una pantalla que se ve así:

 pick c3982e1 Nuevo archivo de funciones
 pick 0b247a0 Corrección de errores en el archivo de funciones

Para unir (Squash) los commits, cambia la línea del segundo commit para que se vea así:

 pick c3982e1 Nuevo archivo de funciones
 s 0b247a0 Corrección de errores en el archivo de funciones

Después de hacer tus cambios, guarda y cierra el archivo. Git combinará los dos commits en uno solo.

Conclusión

Unir (Squash) los commits en Git es una técnica útil para mantener un historial de Git limpio y fácil de leer. Es importante entender cómo hacerlo correctamente para evitar posibles problemas en tu repositorio.

Si tienes algún problema mientras intentas unir (Squash) tus commits, consulta la documentación de Git o busca ayuda en comunidades de programadores.

Preguntas frecuentes

¿Puedo unir (Squash) commits en una rama principal en lugar de una rama temporal?

Sí, es posible unir (Squash) commits en una rama principal. Sin embargo, una rama temporal es una buena práctica ya que te permite realizar cambios sin afectar la rama principal. Si cometes un error mientras unes (Squash) commits en una rama temporal, puedes simplemente eliminar la rama temporal sin afectar la rama principal.

¿Puedo unir (Squash) más de N commits?

Sí, puedes unir (Squash) tantos commits como desees. Sin embargo, ten en cuenta que unir (Squash) muchos commits puede ser complicado y requerir mucho tiempo y esfuerzo.

¿Cómo puedo verificar si mis commits se han fusionado correctamente?

Puedes verificar si tus commits se han fusionado correctamente usando el siguiente comando en la terminal:

git log

Este comando mostrará el historial de commits y deberías ver el nuevo commit resultante del unir (Squash) N commits.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir