GIT: Etiquetado y Alias

  • GIT tiene la posibilidad de etiquetar puntos importantes en el historial del proyecto, por ejemplo cuando el proyecto consigue la primera versión de lanzamiento

Listar Tus Etiquetas

  • Para ver las etiquetas disponibles en orden alfabético
git tag​
v0.1
v1.3
  • También se puede buscar etiquetas con un patrón particular:
git tag -l "v1.8.8.*"

Crear Etiquetas

Git utiliza dos tipos principales de etiquetas: ligeras y anotadas.

  • Ligeras: es muy parecido a una rama que no cambia – simplemente es un puntero a un commit específico.
  • Anotadas: se guardan en la base de datos de Git como objetos enteros. Tienen un checksum; contienen el nombre del etiquetador, correo electrónico y fecha; tienen un mensaje asociado; y pueden ser firmadas y verificadas con GNU Privacy Guard (GPG). Normalmente se recomienda que crees etiquetas anotadas, de manera que tengas toda esta información; pero si quieres una etiqueta temporal o por alguna razón no estás interesado en esa información, entonces puedes usar las etiquetas ligeras.

Etiquetas Anotadas

  • Para crearlas se utiliza el parámetro «-a» para indicar que es una etiqueta de anotación y «-m» para colocar un mensaje
git tag -a v1.1 -m "Versión v1.1"
  • Ahora las podemos consultar
git tag
  • Si quiere ver más detalles
git show v1.1
tag v1.1
Tagger: abelhongo1983 <gustavo.matamoros.gonzalez@una.ac.cr>
Date: Fri Mar 9 10:18:19 2018 -0600

Versión v1.1

commit 23a8cce276dc3765cb5f79e782353068c94821b0 (HEAD -> master, tag: v1.1, origin/master)
Author: abelhongo1983 <gustavo.matamoros.gonzalez@una.ac.cr>
Date: Fri Mar 9 09:07:15 2018 -0600

 Primera versión del poryecto a ser subido a GIT

diff --git a/index.html b/index.html
index a43d331..d9e17da 100644
--- a/index.html
+++ b/index.html
@@ -2,7 +2,7 @@
 <html lang="es">
 <head>
 <meta charset="UTF-8">
- <title>Primer Proyecto GIT nuevo titulo</title>
+ <title>Primer Proyecto GIT</title>
 </head>
 <body>
  • Ahora si hacemos un «git log» podemos ver que que se marca los commits donde están las versiones
git log
commit 23a8cce276dc3765cb5f79e782353068c94821b0 (HEAD -> master, tag: v1.1, origin/master)
Author: abelhongo1983 <gustavo.matamoros.gonzalez@una.ac.cr>
Date: Fri Mar 9 09:07:15 2018 -0600

 Primera versión del poryecto a ser subido a GIT

Etiquetas Ligeras

  • Una etiqueta ligera no es más que el checksum de un commit guardado en un archivo – no incluye más información. Para crear una etiqueta ligera, no pases las opciones -a, -s ni -m:git
git tag v1.2

Etiquetado Tardío

  • Puede que quieras etiquetar algún punto en el pasado como una versión. Por ejemplo si tenemos lo siguiente y queremos etiquetar la marcada:
git log --pretty=oneline
23a8cce276dc3765cb5f79e782353068c94821b0 (HEAD -> master, tag: v1.2-lw, tag: v1.2, tag: v1.1, origin/master) Primera versión del poryecto a ser subido a GIT
1c2c2e35347c6b7f556e21710c3ea2ebb381b3cb Modificado el estilo
7b8f18e086f8f97b4425a9366718aaf18b20160f se recupero archivo README
94e7ed37bc842f7cab1e84fdd64b49e3e6341c8b creacion 2 de tmp
70f7a908d42062c3c7c49d15025f6a003ae378dc eliminado fisico de archivo tmp
afbe8a586df7ca9fcde4de2df942a501c31cab12 Creación de archivo tmp.html
94bce8d67ab869d0c3ba2f6e6122e240dc7ce236 Creación de archivo .gitignore
17b842c61adf81f309e2a9addea9f03555444751 Incio del proyecto: V1.001 / estructura inicial
  • Para hacer esto:
git tag -a "v1.0" -m "Versión v1.0" 17b842
commit 17b842c61adf81f309e2a9addea9f03555444751 (tag: v1.0)
Author: abelhongo1983 <gustavo.matamoros.gonzalez@una.ac.cr>
Date: Thu Mar 8 11:13:51 2018 -0600

Compartir Etiquetas

  • Por defecto el comando «git push» no comparte las etiquetas a los servidores remotos, por lo que debes enviarla de forma explicita después de haberla creado. Por lo que si tenemos:
git tag
v1.0
v1.1
v1.2
v1.2-lw
  • Tendríamos que hacer
git push origin v1.0 
git push origin v1.1
git push origin v1.2
  • Si quieres enviar todas las etiquetas de una vez «–tags»
git push origin --tags

Sacar una Etiqueta

  • Si usted desea obtener un versión especifica del proyecto según una etiqueta, tiene que hacerlo a través de una nueva rama
git checkout -b version2 v2.0.0

Alias de Git

  • Si no quieres teclear el nombre completo de un comando de git puede establecer en la configuración de git unos alias para remplazarlos. Por ejemplo:
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
  • Entonces por ejemplo en vez de escribir «git commit» podríamos hacer:
git ci
  • Esta técnica también puede resultar útil para crear comandos que en tu opinión deberían existir. Por ejemplo, para corregir el problema de usabilidad que encontraste al quitar del área de preparación un archivo, puedes añadir tu propio alias a Git:
git config --global alias.unstage 'reset HEAD --'
  • Y para usarlo:
git unstage fileA
  • También es frecuente añadir un comando last, de este modo:
git config --global alias.last 'log -1 HEAD'
  • Para usarlo:
git last