Crear una rama a partir de una etiqueta en Git

John Wachira 15 febrero 2024
Crear una rama a partir de una etiqueta en Git

Este artículo ilustra cómo podemos crear una nueva rama basada en una etiqueta en Git. Si es un usuario habitual de Git, debe conocer el propósito de las etiquetas de Git.

Estas etiquetas son simplemente indicadores que apuntan a una confirmación de Git significativa. La pregunta es: ¿cómo se crea una rama basada en una etiqueta de Git?

Crear una rama a partir de una etiqueta en Git

Podemos ver los commits con etiquetas si ejecutamos el comando git log. Aquí está nuestro historial de confirmaciones:

Historial de confirmaciones

Digamos que queríamos crear una nueva rama basada en la etiqueta v1.o.5 en la confirmación Release v1.0.5 - Bump Codebase Version. ¿Cómo lo haríamos?

Es bastante simple. Usaremos el comando git branch como se ilustra a continuación:

$ git checkout -b Tag-Branch v1.0.5

Este comando creará una nueva rama llamada Tag-Branch y llevará todas las confirmaciones hasta la etiqueta, incluida la que está en la etiqueta. Vamos a comprobar si este es el caso.

Nueva sucursal

Podemos ver que Git ha creado una nueva rama. Las confirmaciones que vinieron después de nuestra etiqueta se eliminaron al crear la rama.

Alternativamente, podemos optar por restablecer el HEAD a la etiqueta y crear una nueva rama basada en la cabeza. No es una forma limpia ya que eliminará las confirmaciones de su rama.

Puede ejecutar el siguiente comando:

$ git reset --hard <tag>
$ git checkout -b newbranch

En conclusión, Git nos permite crear nuevas sucursales locales en función de cualquier etiqueta en nuestro repositorio. Usar la opción git reset --hard no siempre es la mejor opción.

El git branch -b new-branch <tag> es una forma más limpia de crear ramas basadas en etiquetas.

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 Branch