Git

Cómo utilizar etiquetas de Git para mejorar sus procesos de desarrollo

Cómo utilizar etiquetas de Git para mejorar sus procesos de desarrollo
Para la mayoría de los equipos de desarrollo, Git se ha convertido en una herramienta esencial para el control de versiones. Una gran razón de la popularidad de Git es su perfecta capacidad para crear sucursales. Los equipos de desarrollo pueden utilizar sucursales para trabajar en funciones o versiones específicas. Sin embargo, la etiqueta de Git es un comando que a menudo se pasa por alto y que puede ayudar a los equipos a simplificar sus flujos de trabajo. En este artículo, profundizaremos en el qué, el cómo y el por qué del etiquetado de Git.

¿Qué son las etiquetas de Git??

Las etiquetas de Git son indicadores de ciertas confirmaciones. Son como marcadores. Puede utilizar cualquier tipo de convención que desee para crear etiquetas. Pero la mayoría de los equipos de desarrollo usan números de versión como v1.0.1 o v.1.1-a1 para crear etiquetas.

Creando etiquetas

Hay dos tipos de etiquetas en Git:

Etiquetas ligeras

Las etiquetas ligeras son fáciles de crear. Simplemente puede usar la siguiente línea de comando:

$ git etiqueta

Estas etiquetas se almacenan en el .carpeta git de su repositorio de trabajo.

Creemos algunas etiquetas ligeras de Git:

$ git etiqueta v1.0.1
$ git tag Release-20190401

En el primer caso, creamos una etiqueta con "v1.0.1 ”. En el segundo caso, creamos una etiqueta con "Release-20190401". Las etiquetas ligeras no devuelven ningún valor. Además, es importante señalar que debido a que estas dos etiquetas se hicieron una detrás de la otra, apuntan a la misma confirmación.

Etiquetas anotadas

Las etiquetas anotadas le permiten almacenar más información. Puede utilizar la opción "-a" para crear estas etiquetas:

$ git etiqueta -a

Intentemos crear una etiqueta anotada:

etiqueta git -a v1.0.2

Aparecerá una ventana de texto para que ingreses un comentario que debería verse así:

#
# Escribe un mensaje para la etiqueta:
# V1.0.2
# Las líneas que comienzan con '#' serán ignoradas.

Ingrese un comentario y guárdelo. Entonces, ahora tu etiqueta v1.0.2 se guarda con un comentario. Alternativamente, puede ingresar directamente el comentario en la línea de comando de esta manera:

etiqueta git -a v1.0.3 -m "Mi versión 1.0.3 "

Encontrar etiquetas en su código

Ahora que hemos creado algunas etiquetas, veamos qué tenemos:

$ git etiqueta -l
Lanzamiento-20190401
v1.0.1
v1.0.2
v1.0.3

Podemos ver que todas nuestras etiquetas se muestran en orden alfabético. Puede obtener más información sobre las etiquetas mediante el uso de "-n" dónde representa el número de líneas de los comentarios.

$ git etiqueta -n1
Release-20190401 README actualizado.Maryland
v1.0.1 README actualizado.Maryland
v1.0.2 Mi versión 1.0.2
v1.0.3 Mi versión 1.0.3

Aquí puede notar una diferencia entre las etiquetas ligeras y anotadas. En este ejemplo, "Release-20190401" y "v1.0.1 "son etiquetas ligeras. El "v1.0.2 ”y“ v1.0.3 "son etiquetas con anotaciones. Todos ellos apuntan a la misma confirmación (confirmación 34671):

$ git log
cometer 106e0bb02a58ec3e818e9acdf3bb19a9247a0e84 (HEAD -> master, etiqueta: v1.0.4)
Autor: Zak H
Fecha: Sáb 6 de abril 21:06:02 2019-0700
 
Característica agregada 2
 
cometer 161c6e564e79624623ed767397a98105426d0ec4
Autor: Zak H
Fecha: Sáb 6 de abril 21:05:25 2019-0700
 
Característica agregada 1
 
cometer 34671d824f9b9951e57f867998cb3c02a11c4805 (etiqueta: v1.0.3, etiqueta: v1.0.2,
etiqueta: v1.0.1, etiqueta: Release-20190401)
Autor: Zak H
Fecha: Sáb 6 de abril 20:24:53 2019-0700
 
README actualizado.Maryland
 
cometer afe9b0c7c9fbce3c3d585afe67358a5eec226e2c (origen / maestro)
Autor: Zak H
Fecha: Sáb 6 de abril 20:23:55 2019-0700
 
En eso

Sin embargo, las etiquetas ligeras muestran los comentarios de la confirmación en sí, que es "README actualizado.md ”, mientras que las etiquetas anotadas muestran los comentarios individuales que se les agregaron durante el proceso de creación de etiquetas.

Consejo: Si desea encontrar el número de confirmación de una etiqueta en particular, puede usar el comando "git show":

$ git show v1.0.3
etiqueta v1.0.3
Etiquetador: Zak H
Fecha: Sáb 6 de abril 20:43:30 2019-0700
 
Mi versión 1.0.3
 
cometer 34671d824f9b9951e57f867998cb3c02a11c4805 (etiqueta: v1.0.3, etiqueta: v1.0.2, etiqueta:
v1.0.1, etiqueta: Release-20190401)
Autor: Zak H
Fecha: Sáb 6 de abril 20:24:53 2019-0700
 
README actualizado.Maryland
 
diff --git a / README.md b / README.Maryland
índice 9daeafb… 180cf83 100644
--- a / README.Maryland
+++ b / README.Maryland
@@ -1 +1 @@
-prueba
+test2

Etiquetado de confirmaciones anteriores

También puede volver atrás y etiquetar una confirmación anterior. Veamos los registros:

$ git log --en línea
106e0bb (HEAD -> maestro, etiqueta: v1.0.4) Característica agregada 2
161c6e5 Característica agregada 1
34671d8 (etiqueta: v1.0.3, etiqueta: v1.0.2, etiqueta: v1.0.1, etiqueta: Release-20190401) README actualizado.Maryland
afe9b0c (origen / maestro) Init
PS

Notamos que la confirmación 161c6e5 no tiene una etiqueta asociada. Podemos etiquetar este compromiso de esta manera:

$ git tag -a Release-20190402 161c6e5

Aparecerá la ventana de comentarios. Después de poner el comentario, podemos ver que tenemos la confirmación etiquetada ahora:

$ git etiqueta -n1
Release-20190401 README actualizado.Maryland
Release-20190402 Etiqueta agregada a una confirmación anterior
v1.0.1 README actualizado.Maryland
v1.0.2 Mi versión 1.0.2
v1.0.3 Mi versión 1.0.3
v1.0.4 Característica agregada 2

Eliminar etiquetas

Supongamos que decide que no desea las etiquetas "Release-", ya que son confusas. Primero puede encontrar todas las etiquetas "Release-":

$ git tag -l Release *
Lanzamiento-20190401
Lanzamiento-20190402

Ahora, puede eliminarlos con la opción "-d":

$ git tag -d Release-20190401
Etiqueta eliminada 'Release-20190401' (antes 34671d8)
$ git tag -d Release-20190402
Etiqueta eliminada 'Release-20190402' (antes 6ee37bc)

Si revisamos las etiquetas nuevamente, solo deberíamos ver las etiquetas que comienzan con "v":

$ git etiqueta -n1
v1.0.1 README actualizado.Maryland
v1.0.2 Mi versión 1.0.2
v1.0.3 Mi versión 1.0.3
v1.0.4 Característica agregada 2

Sobrescribir etiquetas

Supongamos que tenemos una situación en la que "v1.0.La etiqueta de 4 "se dirige a la función 2:

$ git log --en línea
d7b18a4 (HEAD -> master) Característica agregada 3
106e0bb (etiqueta: v1.0.4) Característica agregada 2
161c6e5 Característica agregada 1
34671d8 (etiqueta: v1.0.3, etiqueta: v1.0.2, etiqueta: v1.0.1) README actualizado.Maryland
afe9b0c (origen / maestro) Init

Pero queremos la etiqueta "v1.0.4 "para apuntar a la función 3. Si intentamos volver a etiquetarlo, obtenemos este error:

$ git etiqueta v1.0.4 d7b18a4
fatal: etiqueta 'v1.0.4 'ya existe

Podemos solucionar este problema con la opción "-f":

$ git etiqueta -f v1.0.4 d7b18a4
Etiqueta actualizada 'v1.0.4 '(antes 106e0bb)

Si revisamos el registro nuevamente, vemos que la etiqueta se ha movido al compromiso que queremos:

$ git log --en línea
d7b18a4 (HEAD -> maestro, etiqueta: v1.0.4) Característica agregada 3
106e0bb Característica añadida 2
161c6e5 Característica agregada 1
34671d8 (etiqueta: v1.0.3, etiqueta: v1.0.2, etiqueta: v1.0.1) README actualizado.Maryland
afe9b0c (origen / maestro) Init

Alternativamente, también puede eliminar una etiqueta y volver a agregarla a una nueva confirmación.

Compartir etiquetas con otros usuarios

Cuando envías tu código a tu repositorio remoto, las etiquetas de Git no se envían automáticamente. Si desea compartir sus etiquetas con otros usuarios, debe enviarlas exclusivamente.

Las etiquetas se pueden empujar así:

$ git push origin v1.0.4
Contando objetos: 12, hecho.
Compresión delta usando hasta 4 subprocesos.
Comprimir objetos: 100% (4/4), hecho.
Objetos de escritura: 100% (12/12), 902 bytes | 150.00 KiB / s, hecho.
Total 12 (delta 0), reutilizado 0 (delta 0)
Para / Users / zakh / _work / LearnGIT / git_tagging / remote / project_mayhem
* [nueva etiqueta] v1.0.4 -> v1.0.4

Ahora, si otros usuarios clonan el repositorio remoto, solo verán la etiqueta que se envió ("v1.0.4 ”en este caso).

Uso de ramas frente a etiquetas

Las ramas son útiles para nuevas funciones o para experimentar. Por lo general, desea bifurcar cuando hay trabajo futuro que debe realizarse y el trabajo interrumpe su desarrollo actual. Por otro lado, las etiquetas son más útiles como instantáneas. Debes usarlos para recordar cosas particulares que ya hayas hecho.

En conclusión

La etiqueta Git es una característica infrautilizada que puede proporcionar una excelente manera de realizar un seguimiento de los lanzamientos y las características especiales. Si configura buenas prácticas en torno a las etiquetas, puede ayudarlo a comunicarse fácilmente con su equipo de desarrollo y simplificar sus procesos de desarrollo.

Estudio adicional:

  • https: // git-scm.com / book / en / v2 / Git-Basics-Tagging
  • https: // ingeniería de software.intercambio de pila.com / questions / 165725 / git-branching-and-tagging-best-practices
  • https: // www.atlassian.com / git / tutorials / inspeccionar-un-repositorio / git-tag
  • https: // en.wikipedia.org / wiki / Software_versioning
  • https: // www.techopedia.com / definition / 25977 / software-versioning
Vulkan para usuarios de Linux
Con cada nueva generación de tarjetas gráficas, vemos que los desarrolladores de juegos superan los límites de la fidelidad gráfica y se acercan un pa...
OpenTTD frente a Simutrans
Crear su propia simulación de transporte puede ser divertido, relajante y extremadamente atractivo. Es por eso que debes asegurarte de probar tantos j...
Tutorial de OpenTTD
OpenTTD es uno de los juegos de simulación empresarial más populares que existen. En este juego, necesitas crear un maravilloso negocio de transporte....