Git: enviar etiquetas a un repositorio remoto

    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.

     

    Etiquetas:

    Deja una respuesta

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