Breaking

Post Top Ad

Your Ad Spot

viernes, 14 de junio de 2019

Git: etiquetas de inserción a un repositorio remoto

Si ha estado usando Git durante un período de tiempo significativo, probablemente ya sepa cómo enviar sus confirmaciones desde una sucursal local a un repositorio remoto. Pero, como debe saber, Git no solo realiza un seguimiento de los compromisos, también hay otros objetos / referencias, como las etiquetas.
Estas etiquetas, que apuntan a un punto específico en el historial de un repositorio, también pueden enviarse a repositorios remotos para que otros desarrolladores las usen 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 llevarlos a un repositorio remoto, tiene algunas opciones:
$ git push <repo-name> <tag-name>
Este comando enviará una sola etiqueta al repositorio remoto, y generalmente es el método preferido, del cual explicaré más a continuación.
La otra forma sería enviar todas las etiquetas al repositorio remoto:
$ git push --tags <repo-name>
No se recomienda esta forma porque es común que los desarrolladores tengan etiquetas viejas o "malas" en sus repositorios locales que no tengan la necesidad de estar en el remoto, por lo que se recomienda presionar una etiqueta solo explícitamente utilizando el primer método, y no todas sus etiquetas a la vez
Pero, ¿qué pasa si necesita mover una etiqueta a una confirmación diferente? Esto suele suceder cuando se etiqueta accidentalmente el compromiso incorrecto o si se olvida de combinar los cambios en el maestro antes de etiquetar. En este caso, querrías hacer lo siguiente:
  • Eliminar la etiqueta del repositorio remoto
  • Mueve la etiqueta a la confirmación correcta
  • Empuje la etiqueta al repositorio remoto
En términos de comandos de Git, este es el aspecto de esa secuencia:
$ git push <repo-name> :refs/tags/<tag-name>
$ git tag -fa <tag-name> <commit-hash>
$ git push -f <repo-name> <tag-name>
La -fbandera es una abreviatura de --force, que deshabilita ciertas comprobaciones y permite que las referencias cambien, por ejemplo.
También puede omitir el <commit-hash>argumento del git tagcomando si está etiquetando la confirmación más reciente. Personalmente, prefiero ser explícito con mis comandos de etiqueta para asegurarme de que siempre sepa exactamente lo que estoy etiquetando, pero debes hacer lo que sea mejor para ti.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Post Top Ad

Your Ad Spot

Páginas