Git: enviar etiquetas a un repositorio remoto

G

Si ha estado usando Git durante una cantidad significativa de tiempo, probablemente ya sepa cómo enviar sus confirmaciones desde una rama local a un repositorio remoto. Pero, como sabrá, Git no solo rastrea las confirmaciones, también hay otros objetos / referencias, como etiquetas.

Estas etiquetas, que apuntan a un lugar específico en el historial de un repositorio, también se pueden enviar a repositorios remotos para que otros desarrolladores las utilicen o hagan referencia. Las etiquetas se pueden usar para muchas cosas, pero el caso de uso que más veo es usar etiquetas para marcar el número de versión del proyecto en un punto específico de la historia.

Para enviarlos a un repositorio remoto, tiene algunas opciones:

$ git push <repo-name> <tag-name>

Este comando enviará una sola etiqueta al repositorio remoto y, por lo general, es el método preferido, sobre el que explicaré más a continuación.

La otra forma sería enviar todas las etiquetas al repositorio remoto:

$ git push --tags <repo-name>

Esta forma no se recomienda porque es común que los desarrolladores tengan etiquetas viejas o “malas” en sus repositorios locales que no necesitan estar en el remoto, por lo que se recomienda solo empujar explícitamente una etiqueta usando el primer método, y no todas sus etiquetas a la vez.

Pero, ¿qué sucede si necesita mover una etiqueta a una confirmación diferente? Esto suele suceder cuando etiqueta accidentalmente la confirmación incorrecta o si olvida fusionar los cambios en el maestro antes de etiquetar. En este caso, querrá hacer lo siguiente:

  • Eliminar la etiqueta del repositorio remoto
  • Mueva la etiqueta a la confirmación correcta
  • Empuje la etiqueta al repositorio remoto

En términos de comandos de Git, así es como se vería esa secuencia:

$ git push <repo-name> :refs/tags/<tag-name>
$ git tag -fa <tag-name> <commit-hash>
$ git push -f <repo-name> <tag-name>

los -f bandera es una abreviatura de --force, que deshabilita ciertas comprobaciones y permite cambiar referencias, por ejemplo.

También puede omitir el <commit-hash> argumento de la git tag comando si está etiquetando la confirmación más reciente. Personalmente, prefiero ser explícito con mis comandos de etiqueta para asegurarme de que siempre sé exactamente lo que estoy etiquetando, pero debes hacer lo que funcione mejor para ti.

 

About the author

Ramiro de la Vega

Bienvenido a Pharos.sh

Soy Ramiro de la Vega, Estadounidense con raíces Españolas. Empecé a programar hace casi 20 años cuando era muy jovencito.

Espero que en mi web encuentres la inspiración y ayuda que necesitas para adentrarte en el fantástico mundo de la programación y conseguir tus objetivos por difíciles que sean.

Add comment

Sobre mi

Últimos Post

Etiquetas

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad