En Git, las etiquetas o Git tags tienen un papel importante al asignar versiones a los commits más significativos de un proyecto. Aprender a utilizar el comando git tag, entender los diferentes tipos de etiquetas, cómo crearlas, eliminarlas y compartirlas, es esencial para un flujo de trabajo eficiente.
Creación de etiquetas en Git
Para crear una etiqueta, ejecuta el siguiente comando:
git tag <tagname>
Sustituye <tagname> con un identificador semántico que refleje el estado del repositorio en el momento de la creación. Git admite etiquetas anotadas y ligeras.
Las etiquetas anotadas almacenan información adicional como la fecha, etiquetador y correo electrónico, y son ideales para publicaciones públicas. Las etiquetas ligeras son más simples y se emplean como “marcadores” de una confirmación específica.
Listado de etiquetas
Para obtener una lista de etiquetas en el repositorio, ejecuta el siguiente comando:
git tag
Esto mostrará una lista de las etiquetas existentes, como:
v1.0v1.1v1.2
Para perfeccionar la lista, puedes utilizar opciones adicionales, como -l con una expresión comodín.
Uso compartido de etiquetas
Compartir etiquetas requiere un enfoque explícito al usar el comando git push. Por defecto, las etiquetas no se envían automáticamente. Para enviar etiquetas específicas, utiliza:
git push origin <tagname>
Para enviar varias etiquetas a la vez, usa:
git push origin --tags
Eliminación de etiquetas
Para eliminar una etiqueta, usa el siguiente comando:
git tag -d <tagname>
Esto eliminará la etiqueta identificada por <tagname> en el repositorio local.
En resumen, las etiquetas en Git son esenciales para asignar versiones y capturar instantáneas importantes en el historial de un proyecto. Aprender a crear, listar, compartir y eliminar etiquetas mejorará tu flujo de trabajo con Git.
Interesante aporte. Pero solo por matar la curiosidad, cual es la diferencia entre usarlo desdes Linux o solo para GIT, entiendo que los dos conviven en el bash no?
Hola hgwarrior88. Si, y creería que cuestión de gustos. Yo por ejemplo todo lo relacionado a GIT lo dejo con git config alias o git config --global alias, y lo relacionado al sistema en el alias del sistema.
Por ejemplo, use este comando solo para este curso, entonces lo uso solo desde la ubicación que cree especialmente para este curso:
git config alias.arbolito "log --all --graph --decorate --oneline"
Esto, para poder seguir las prácticas y ver que lo que hacía el profesor era tal cual yo lo veía en mi entorno local.
Para un log mas lindo uso el log global. que lo encontré en el aporte de otro compañero en este mismo curso. Es este:
git config --global alias.superlog "log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all"
Entonces, en cualquier proyecto pones git superlog y vas a ver el super log. Pero git arbolito solo me funciona en el proyecto de este curso. Pero como digo, cuestión de gustos.
git log --all: Muestra toda la historia de commits de nuestro proyecto
git log --all --graph: Además de mostrar la historia de commits muestra gráficamente las ramas
git log --all --graph --decorate --oneline: Muestra la historia de commits y ramas de manera compacta
git tag -a nombre-del-tag -m "Mensaje del tag" id-del-commit: Creamos un tag y asignarlo a un commit
git tag: Muestra la lista de todos los tag
git show-ref --tags: Muestra la lista de tags y a que commits están asignados
git push origin --tags: Envía un tag a un repositorio remoto
git tag -d nombre-del-tag: Borra un tag en el repositorio local
git push origin :refs/tags/nombre-del-tag: Borra un tag en el repositorio remoto
Grande, muchas gracias por compartir!
git push origin :refs/tags/nombretags -> Para eliminar tags en el repo remoto
gracias jean
¡Gracias!
El comando que utilizó Freddy solo sirve para crear un alias temporal, estará vigente mientras no se cierre la terminal. El comando de ALIAS que uso Freddy solo funcionara de forma temporal mientras la terminal siga abierta si no de lo contrario al volverla abrir se perderá el ALIAS, en mi caso en macOS tengo que agregarlo al archivo .zshrc (estoy usando en shell ZSH ++no el Bash que viene por defecto++). Por lo general esta en ~/.zshrc hay que modificarlo con cualquier editor y colocar al final el ALIAS que se quiera agregar (para que sea mas facil ubicar los ALIAS) por ejemplo:
alias arbolito=git log --all --graph --decorate --oneline
y listo ahora tendrás configurado ese ALIAS de forma global 😉👍🏻 Y podremos seguir agregando todos los que quieras.
gracias por tu explicación me gusto mucho
Solo recalcar que para zsh el comando se debe de poner entre " " (tal y como Freddy hace en el vídeo) pero dentro del archivo .zshrc
Ejemplo
alias arbolito="git log --all --graph --decorate --oneline"
Nota: Los alias no sólo aplican para comandos de git, puedes ponerle un alias a cualquier comando de Linux.
Pueden conocer todo los alias disponible escribiendo el comando alias.
Gracias por el aporte.
Excelente aporte
Excelente resumen de esta clase, como siempre! Gracias Ederson.
Tremendo nivel estas notas de clase!
Si quieren eliminar el alias el comando es
unalias nombre-del-alias
Muchas gracias por el aporte, conciso y muy útil.
Aqui mi aporte :D
Uso de Aliasalias nombre='codigo' aqui se le asigna a la variable nombre el codigo que queremos resumir, por ejemplo alias arbolito="git log --all --graph --decorate --oneline"unalias nombre sirve para borrar un alias creado
Listado de todas Tags disponibles
git tag enumera todas las etiquetas disponibles
search tags sirve para buscar versiones especificas y si se usa * nos mostrara todas las subversiones por ejemplo git tag -l "v1.8.5*"
Crear, borrar y empujar Tags en GIT
git tag tagName Esto creará una tag local con el estado actual de la rama en la que se encuentra
git tag -d tagName Borrar un tag en el repositorio local
git tag tagName idCommit Esto creará una tag local con el identificador de la rama en la que se encuentra.
git push origin :refs/tags/tagName Borrar un tag del repositorio remoto
Empuje un commit en GIT
git push origin tagName Empuje una etiqueta individual
git push origin --tags Empuje todas las etiquetas a la vez
Gracias
En Windows se puede guardar el alias de la siguiente forma:
Gracias bro, aunque es mejor que utilices la terminal de Ubuntu para Windows, es mas completa
graicas!!
El comando que utilizó Freddy solo sirve para crear un alias temporal, estará vigente mientras no se cierre la terminal.
Si queremos que el alias sea permanente, debemos buscar un archivo llamado .bashrc si usas bash en la terminal (Por defecto en todas las distros Linux) o buscar un .zshrc si tienes una shell zsh (instalada en mac), por lo general este archivo está oculto en nuestra carpeta principal.
Ahora para hacer el alias permanente debemos agregar al final del archivo el mismo comando que utilizó Freddy
alias arbolito=git log --all --graph --decorate --oneline, guardas el archivo y listo, ya está permanente el alias.
Se pueden agregar al archivo tantos como queramos.
gracias, sirve mucho :)
Gracias mi pana me ayudó mucho ^w^
Gran aporte!!
Venga Dani, gracias
En linux pueden usar alias para facilitar el uso de los comandos: Los alias son variables como ~.
Éstos son mis alias para git:
# alias para git
alias gta='git add .'alias gtc='git commit -m'alias gts='git status'alias gtl='git log'alias ggraph='git log --all --graph --decorate --oneline'alias gtp='git pull origin'alias gtb='git branch'alias gtck='git checkout'
Según la página oficial de Git en la sección de Alias, el comando para guardar un alias y que no se borre cuando se reinicia la máquina es:
Este es el arbol que yo uso! Lo tengo con el alias de slog (superlog):
Para llamarlo, he creado el alias slog en git. De esta manera, lo llamo con git slog
Si quieren copiarselo, pueden usar este comando para agregarlo a su configuracion:
En donde dice alias.ALIAS, cambian el ALIAS por el nombre que le quieran poner. De esa manera lo pueden llamar en la consola con git ALIAS
:)
Genial!!!!!
wooow que genial
¡Hola!
Aquí comparto mis notas de la clase:
Se pueden crear alias: alias nombre="comando git"
Los TAGS son realmenta utiles en Github.
Crear un nuevo TAG:
Se crea con la siguiente estructura: git tag -a nombre-del-tag -m "mensaje / comentarios" id-del-commit
Ejemplo:
El comando git tag nos muestra los tags existentes:
Referencias de los tags con el comando git show-ref --tags
Empujar a nuestro repositorio en Github los tags que creamos:
Se pueden checar los tags creados en Github en el repositorio en cuestión:
Borrat tags desde la consola en Git: git tag -d "nombre del tag"Ejemplo:
Borrar referencia allá en el origen (Github) conectado con nuestra referencia: git push origin :refs tags/nombreTag
Ejemplo:
Pueden utilizar el comando 'gitk' y les mostrará de forma gráfica la historia de los commits.
si es la interfaz grafica que viene instalado con git cierto?
¡Muchas gracias! 🙌
Yo trate de crear un alias global con git config --global alias-[nombreAlias] "comando", pero no me funciono, aunque no da error al crearlo al llamarlo decía que no había un comando asignado, googlee un poco y encontre que se puede añadir los alias directamente en el archivo .gitconfig (esta en el home) y este si que funciona. entonces lo que hare es ir copiando los alias a un documento aparte para tener esto de respaldo y cuando necesite configurar de nuevo el git usar git en otro equipo, puede copiar mis alias y trabajar mas comodamente... debo decir que yo ya he trabajado con git desde hace un tiempo, pero como dice Freddy en el primer video me habia conformado con hacer pull y push, este curso es... geniall
Genial. Gracias.
Muy buena explicación
git log
git log --all
git log --all --graph
git log --all --graph --decorate --oneline
alias arbolito="git log --all --graph --decorate --oneline"git tag -a v0.1-m "Resultado de las primeras clases del curso" 9f98e8f
git tag
git show-ref --tags
git status
git pull origin master
git push origin --tags
git tag
git tag -d Dormidogit pull origin master
git push origin :refs/tags/Dormido
Muchas gracias David. Justo esto era lo que necesitaba. Buen aporte. 👍