Identificar el ancestro común reciente para dos ramas en Git

John Wachira 15 febrero 2024
Identificar el ancestro común reciente para dos ramas en Git

Este artículo ilustra cómo podemos encontrar la confirmación de ancestro común reciente en Git. Esto es útil cuando crea o fusiona una rama con otra.

Sin más preámbulos, saltemos a la agenda de hoy.

Identificar el ancestro común reciente para dos ramas en Git

¿Qué es un ancestro común para dos ramas en Git?

Hecha un vistazo a la imagen de abajo.

ancestro común para dos ramas

En la imagen de arriba, tenemos la rama principal donde hemos creado una rama característica y una rama nueva función a partir de la rama característica. Eliminemos la rama main y centrémonos en las ramas feature y new-feature.

Podemos ver que creamos la rama nueva función después de la confirmación bd9172c. Como habrás adivinado, el compromiso bd9172c es nuestro ancestro común reciente para las ramas característica y principal.

Entonces, ¿cómo encontramos el ancestro común reciente para las dos ramas?

Todo lo que necesitas es el comando git merge-base. De la documentación de Git, el comando git merge-base nos ayuda a encontrar el mejor ancestro común para un git merge.

Sin embargo, podemos introducir dos ramas como argumento para mostrar el ancestro común más reciente para las ramas proporcionadas.

Sintaxis:

$ git merge-base <Branch 1> <Branch 2>

Veamos un ejemplo.

El siguiente ejemplo muestra las ramas master y feature de nuestro repositorio local. Para encontrar el ancestro común entre los dos, ejecutaremos el comando git merge-base, como se muestra a continuación.

$ git merge-base master feature

Este comando debe mostrar el hash de confirmación para el ancestro común.

Producción:

git merge-base

Podemos usar el siguiente comando para un registro visual.

$ git log --graph --oneline --all --decorate

Deberías obtener algo como esto:

registro visual

Podemos ver que nuestra rama característica se bifurcó del maestro en la confirmación 2dbe38d, que es el mismo hash de confirmación que obtuvimos al ejecutar el comando git merge-base anteriormente.

Puede encontrar la confirmación de ancestro común más reciente para dos ramas en Git usando el comando git merge-base mientras alimenta las ramas en cuestión. Tenga en cuenta que este comando solo obtiene el ancestro común más reciente.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Artículo relacionado - Git Merge