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

Cómo usar etiquetas 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 para la popularidad de Git es su capacidad perfecta para crear ramas. Los equipos de desarrollo pueden usar sucursales para trabajar en características o lanzamientos específicos. Sin embargo, la etiqueta de Git es un comando a menudo ignorado que puede ayudar a los equipos a simplificar sus flujos de trabajo. En este artículo, nos sumergiremos en lo que, cómo y por qué.

¿Qué son las etiquetas git??

Las etiquetas git son consejos para ciertos compromisos. Son como marcadores. Puede usar cualquier tipo de convención que desee 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 livianas
  • Etiquetas anotadas

Etiquetas livianas

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

Etiqueta de $ git

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

Creemos algunas etiquetas Git livianas:

$ git etiqueta v1.0.1
$ git etiqueta versión-20190401

En el primer caso, creamos una etiqueta con "V1.0.1 ". En el segundo caso, creamos una etiqueta con "Release-20190401". Las etiquetas livianas no devuelven ningún valor. Además, es importante señalar que debido a que estas dos etiquetas se realizan consecutivas, apuntan a la misma comisión.

Etiquetas anotadas

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

$ git etiqueta -a

Intentemos crear una etiqueta anotada:

git tag -a v1.0.2

Aparecerá una ventana de texto para que ingrese 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 como esta:

git tag -a v1.0.3 -m "mi versión 1.0.3 "

Encontrar etiquetas en su código

Ahora que hemos creado algunas etiquetas, veamos lo que tenemos:

$ git etiqueta -l
Release-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 utilizando el "-n" donde 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 etiquetas livianas y anotadas. En este ejemplo, "Release-20190401" y "V1.0.1 ”son etiquetas livianas. El "V1.0.2 "y" V1.0.3 ”son etiquetas anotadas. Todos ellos apuntan al mismo compromiso (cometer 34671):

Log de $ git
Commit 106E0BB02A58EC3E818E9ACDF3BB19A9247A0E84 (Cabeza -> Maestro, Etiqueta: V1.0.4)
Autor: Zak H
Fecha: sábado 6 de abril 21:06:02 2019 -0700
Característica adicional 2
Commit 161C6E564E79624623ED767397A98105426D0EC4
Autor: Zak H
Fecha: sábado 6 de abril 21:05:25 2019 -0700
Característica agregada 1
Commit 34671D824F9B9951E57F867998CB3C02A11C4805 (Etiqueta: V1.0.3, etiqueta: V1.0.2,
Etiqueta: V1.0.1, etiqueta: versión-20190401)
Autor: Zak H
Fecha: sábado 6 de abril 20:24:53 2019 -0700
Readme actualizado.Maryland
Commit AFE9B0C7C9FBCE3C3D585AFE67358A5EEC226E2C (Origin/Master)
Autor: Zak H
Fecha: sábado 6 de abril 20:23:55 2019 -0700
En eso

Sin embargo, las etiquetas livianas 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 han agregado 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
Tagger: Zak H
Fecha: sábado 6 de abril 20:43:30 2019 -0700
Mi versión 1.0.3
Commit 34671D824F9B9951E57F867998CB3C02A11C4805 (Etiqueta: V1.0.3, etiqueta: V1.0.2, etiqueta:
V1.0.1, etiqueta: versión-20190401)
Autor: Zak H
Fecha: sábado 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

Etiquetando comodidades mayores

También puedes regresar y etiquetar una confirmación más antigua. Veamos los registros:

$ git log -enneline
106E0BB (cabeza -> 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: versión-20190401) Readme actualizado.Maryland
AFE9B0C (Origin/Master) Init
ps

Notamos que el commit 161c6e5 no tiene una etiqueta asociada. Podemos etiquetar este compromiso como este:

$ git etiqueta -a versión -20190402 161c6e5

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

$ git etiqueta -n1
Release-20190401 Readme actualizado.Maryland
Release-20190402 Se agregó etiqueta a una confirmación más antigua
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 adicional 2

Eliminando etiquetas

Supongamos que decide que no quieres el "lanzamiento-" etiquetas como son confusas. Primero puede encontrar todas las etiquetas "Release-":

$ git etiqueta -l versión*
Release-20190401
Release-20190402

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

$ git tag -d versión -20190401
Etiqueta eliminada 'Release-20190401' (fue 34671d8)
$ git tag -d versión -20190402
Etiqueta eliminada 'Release-20190402' (fue 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 adicional 2

Etiquetas de sobrescritura

Supongamos que tenemos una situación en la que "V1.0.La etiqueta de 4 "está haciendo que presente 2:

$ git log -enneline
d7b18a4 (cabeza -> maestro) Se agregó la función 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 (Origin/Master) Init

Pero queremos la etiqueta "V1.0.4 ”apuntando a la función 3. Si intentamos retagarlo, recibimos este error:

$ git etiqueta v1.0.4 D7B18A4
fatal: tag 'v1.0.4 'ya existe

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

$ git etiqueta -f v1.0.4 D7B18A4
Etiqueta actualizada 'V1.0.4 '(era 106e0bb)

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

$ git log -enneline
d7b18a4 (cabeza -> maestro, etiqueta: v1.0.4) Característica agregada 3
106E0BB Función agregada 2
161C6E5 característica agregada 1
34671D8 (etiqueta: V1.0.3, etiqueta: V1.0.2, etiqueta: V1.0.1) Readme actualizado.Maryland
AFE9B0C (Origin/Master) Init

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

Compartir etiquetas con otros usuarios

Cuando presiona su código a su repositorio remoto, las etiquetas Git no se empujan automáticamente. Si desea compartir sus etiquetas con otros usuarios, debe presionarlas exclusivamente.

Las etiquetas se pueden empujar así:

$ git push origen v1.0.4
Contando objetos: 12, hecho.
Compresión delta utilizando hasta 4 hilos.
Objetos de comprimir: 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)
A/users/zakh/_work/aprendizaje/git_tagging/remoto/proyecto_mayhem
* [nueva etiqueta] V1.0.4 -> V1.0.4

Ahora, si otros usuarios clonan el repositorio remoto, solo verán la etiqueta que fue presionada ("V1.0.4 "en este caso).

Usando ramas vs etiquetas

Las ramas son útiles para nuevas características o experimentar. En general, desea ramificarse cuando hay un trabajo futuro que debe hacerse y el trabajo es perjudicial para su desarrollo actual. Por otro lado, las etiquetas son más útiles como instantáneas. Debe usarlos para recordar cosas particulares que ya ha hecho.

En conclusión

La etiqueta GIT es una característica subutilizada 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: // Engeneración de software.cambio de stacex.com/Preguntas/165725/Git-rama de rama y etiquetado-mejores prácticas
  • https: // www.atlassiano.com/git/tutorials/Inspecting-a-repository/git-etiqueta
  • https: // en.Wikipedia.org/wiki/software_versioning
  • https: // www.techopedia.com/definición/25977/versión de software