Tema 4. Herramientas de Git y personalización




Bienvenido al tema "Herramientas de Git y personalización", en el cual aprenderás acerca de las diversas herramientas y opciones disponibles para personalizar tu experiencia de trabajo con Git.

Las herramientas de Git y personalización son aquellas opciones y características adicionales que se pueden agregar o ajustar para mejorar la experiencia y eficiencia de uso de Git. Estas herramientas incluyen complementos, plugins, configuraciones de línea de comandos, personalización de la interfaz, entre otros. El objetivo es permitir una mejor integración con otros sistemas, automatizar tareas repetitivas, personalizar la visualización de la información, y tener un mayor control sobre los flujos de trabajo y las funciones de Git. Las herramientas de Git y personalización varían dependiendo de la necesidad y preferencia del usuario.




Etiquetado

El etiquetado en Git es una forma de marcar un punto específico en la historia de un repositorio de Git con una etiqueta legible y significativa. Estas etiquetas suelen usarse para marcar versiones específicas de software, como versiones estables o importantes, para que puedan ser recuperadas fácilmente en el futuro (Git, s.f.-a).

Las etiquetas en Git son inmutables, lo cual significa que, una vez creada una etiqueta, esta no podrá ser modificada. Esto permite a los desarrolladores volver a un punto específico en la historia del proyecto, con confianza, sabiendo que la versión etiquetada no cambiará con el tiempo.



Etiquetado en:


Fuente: Git. (s.f.-a). 2.6 Fundamentos de Git - Etiquetado.
Recuperado de https://git-scm.com/book/es/v2/Fundamentos-de-Git-Etiquetado

Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.


El comando git tag lista las etiquetas en orden alfabético, no tiene importancia el orden en el que aparecen las etiquetas. Opcionalmente se puede buscar etiquetas con un patrón particular, Git (s.f.-a) sugiere el siguiente ejemplo: “el repositorio del código fuente de Git, por ejemplo, contiene más de 500 etiquetas. Si sólo te interesa ver la serie 1.8.5, puedes ejecutar:”



Buscar etiquetas con un patrón particular:


Fuente: Git. (s.f.-a). 2.6 Fundamentos de Git - Etiquetado.
Recuperado de https://git-scm.com/book/es/v2/Fundamentos-de-Git-Etiquetado

Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.


En Git existen dos principales tipos de etiquetas, denominadas: ligeras y anotadas. Las etiquetas ligeras son similares a una rama que no se actualiza, sólo son un puntero a un commit específico. Por otro lado, las etiquetas anotadas se registran en la base de datos de Git como objetos completos.

Estas etiquetas contienen información como un checksum, el nombre del etiquetador, correo electrónico y fecha, un mensaje asociado, y también pueden ser firmadas y verificadas con GNU Privacy Guard (GPG). Se recomienda usar etiquetas anotadas para tener toda esta información disponible. Sin embargo, si se necesita una etiqueta temporal o no se requiere esta información, se puede utilizar una etiqueta ligera (Git, s.f.-a). A continuación, se explorará con mayor detalle las etiquetas en Git.


Etiquetas Anotadas

Las etiquetas anotadas en Git son una forma de etiquetar un momento específico en la historia de un repositorio Git. En lugar de simplemente marcar un punto en la historia de la rama actual, las etiquetas anotadas proporcionan una forma de agregar una nota a ese momento específico. Por ejemplo, puedes etiquetar una versión de tu proyecto con una nota que indique que es una versión estable o una versión de lanzamiento.

Para crear una etiqueta anotada, se usa el comando “git tag -a [etiqueta] [commit]” y luego se proporciona una descripción de la etiqueta. Las etiquetas anotadas son permanentes y no se mueven a medida que avanza la rama en la que se encuentran. Ejemplo:



Para crear una etiqueta anotada, se usa el comando “git tag -a [etiqueta] [commit]”:


Fuente: Git. (s.f.-a). 2.6 Fundamentos de Git - Etiquetado.
Recuperado de https://git-scm.com/book/es/v2/Fundamentos-de-Git-Etiquetado

Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.


El parámetro “-m” especifica el mensaje de la etiqueta que es almacenado junto con ella, de no especificar el mensaje en una etiqueta anotada, Git abrirá el editor de texto por defecto para que lo escribas. Se puede ver la información de la etiqueta junto con el commit que se está etiquetando, utilizando el comando “git show” (Git, s.f.-a).


Etiquetas ligeras

Las etiquetas ligeras son una forma más simple de etiquetado, consta de un checksum de un commit guardado en un archivo en donde no incluye información. Para crear una etiqueta ligera no hay que pasar ningún parámetro al comando “git tag” (es decir, hay que omitir el -a, -s y -m). Observa el siguiente ejemplo:



Para crear una etiqueta ligera no hay que pasar ningún parámetro al comando “git tag”:


Fuente: Git. (s.f.-a). 2.6 Fundamentos de Git - Etiquetado.
Recuperado de https://git-scm.com/book/es/v2/Fundamentos-de-Git-Etiquetado

Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.


Al igual que con las etiquetas anotadas, se pueden listar con “git show”, salvo que no se presentara la información adicional.


Etiquetado tardío

El etiquetado tardío es útil para etiquetar commits luego de pasar cierto tiempo sin hacerlo. Mira el ejemplo que propone Git (s.f.-a) en su documentación oficial:

Supón que tu historial de commits luce de la siguiente manera:



Supón que tu historial de commits luce de la siguiente manera:


Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.


Imagina que olvidaste en su debido momento etiquetar tu proyecto en su versión hipotética v1.2, que corresponde al commit “updated rakefile”. Para etiquetarlo se debe especificar el checksum (o los primeros 7 caracteres, es decir la cadena “9fceb02”) de la siguiente manera:

Para etiquetarlo se debe especificar el checksum (o los primeros 7 caracteres, es decir la cadena “9fceb02”) de la siguiente manera:


Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.


Con esto podrás visualizar el etiquetado como corresponde en el commit:



Visualizar el etiquetado como corresponde en el commit:


Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.


Alias de Git

Un alias en Git es un atajo o apodo para un comando Git específico o para una secuencia de comandos. Permite a los usuarios ejecutar el comando o secuencia de comandos asociados con el alias con un nombre más fácil de recordar. Los alias se pueden definir en el archivo de configuración de Git, y se pueden utilizar en cualquier momento en la línea de comandos.

Ten en cuenta que Git no puede deducir el comando que deseas teclear de manera parcial o reducida. Para hacer uso de alias en Git debes establecer cada comando mediante git config. Git (s.f.-b) sugiere el siguiente ejemplo para comandos conocidos:



Para hacer uso de alias en Git debes establecer cada comando mediante git config:


Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.


La manera de realizar una acción por medio de su alias es escribir su comando corto, es decir: luego de configurar (bajo el ejemplo anterior) el alias para realizar un commit, basta con escribir “git ci”.


Reescribiendo la Historia

Git es una herramienta que te permite cambiar tus acciones en el último momento. Mientras trabajas con Git, es posible que desees revisar tu historial por alguna razón. Git te brinda la capacidad de elegir qué archivos incluir antes de realizar un compromiso en el área de ensayo, decidir no trabajar en algo aún con el comando de alias o incluso reescribir confirmaciones previas haciéndolas parecer que se hicieron de manera diferente. Esto puede incluir: cambiar confirmaciones, modificar mensajes o archivos en un cometido, combinar o dividir confirmaciones, todo antes de compartir tu trabajo con otros (Git, s.f.-c).

A continuación, conocerás la teoría relacionada con este tipo de tareas que son muy útiles ya que, gracias a ellas, tu historial podrá aparecer del modo en el cual siempre quisiste compartirlo.

El primer cambio que se analizará es el cambio de la última confirmación, dicha acción es bastante típica ya que en muchas ocasiones se envía una confirmación del mensaje del commit con algún tipo de error. Para cambiar la confirmación del mensaje final basta con teclear el siguiente comando:



Para cambiar la confirmación del mensaje final basta con teclear el siguiente comando:


Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.


Luego de introducir el comando, serás dirigido al editor textual el cual tiene la confirmación final para ser editada, basta con modificarlo escribiendo la nueva confirmación.


Cambiando la confirmación de múltiples mensajes

Para hacer cambios en una confirmación previa en tu historial de Git, debes utilizar herramientas más avanzadas. Aunque Git no cuenta con una herramienta específica para modificar la historia, puedes usar la función de “rebase” para reorganizar una serie de confirmaciones en el HEAD en lugar de moverlas a otro lugar. Con la opción interactiva de rebase, puedes detenerte justo después de cada confirmación que desees modificar y hacer cambios en su mensaje, agregar archivos o cualquier otra acción.

Para ejecutar un rebase interactivo, simplemente agrega el comando “-i a git rebase. Además, debes especificar hasta qué punto deseas regresar para reescribir las confirmaciones, indicando cuál es la confirmación que deseas rebasar en el comando.

Por ejemplo, si deseas modificar las tres últimas confirmaciones o cualquiera de ellas, debes proporcionar un argumento para “git rebase -i” que especifique la confirmación que deseas modificar, que en este caso sería la última confirmación, HEAD2 o HEAD3. Es más fácil recordar HEAD~3 ya que estás tratando de editar las tres últimas confirmaciones, pero ten en cuenta que esto abarcará también la confirmación anterior a la última, es decir, cuatro confirmaciones atrás.



Modificar las tres últimas confirmaciones o cualquiera de ellas:


Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para
fines educativos.


Toma en cuenta que en el comando “rebase”, cualquier confirmación incluida en el rango de HEAD~3.HEAD será reescrita cambies o no el mensaje. No es recomendable incluir una confirmación que se haya enviado al servidor central, de hacerlo, esto confundirá a los demás desarrolladores ya que estás proporcionando una versión alternativa del mismo cambio (git, s.f.-c).


Reordenando Confirmaciones

Para reordenar confirmaciones en Git con “rebase”, debes seguir los siguientes pasos:

  1. Ejecutar el comando git rebase -i” seguido del commit al que deseas rebasar. Por ejemplo, git rebase -i HEAD~3” con el propósito de realizar alguna modificación a las tres últimas confirmaciones.
  2. Git abrirá un editor de texto con una lista de confirmaciones, donde puedes reordenarlas, combinarlas o eliminarlas.
  3. Guarda y cierra el archivo. Git reaplicará las confirmaciones en el orden especificado.
  4. Si hay conflictos durante el proceso, debes resolverlos antes de continuar.
  5. Una vez resueltos los conflictos, debes continuar el rebase con el comando git rebase –continue.

Es importante tener en cuenta que el rebase reescribe la historia de Git y puede causar problemas en los equipos. Por lo tanto, es recomendable usar rebase con precaución y solamente en repositorios locales antes de compartir tus cambios con otros.


Unir confirmaciones

Tomar series de confirmaciones y unirlas en una sola confirmación, se realiza de forma interactiva con rebase, o de forma no interactiva. A continuación, se explican las dos formas de hacerlo según Git (s.f.-c):

  1. Rebase interactivo:
    1. Ejecutar el comando “git rebase -i” seguido del commit al que deseas rebasar. Por ejemplo, “git rebase -i HEAD~3” para unir las tres últimas confirmaciones.
    2. Git abrirá un editor de texto con una lista de confirmaciones. Cambia la palabra "pick" por "squash" en las confirmaciones que deseas unir.
    3. Guarda y cierra el archivo. Git combinará las confirmaciones seleccionadas en una sola confirmación con un mensaje agregado.
    4. Si hay conflictos durante el proceso, debes resolverlos antes de continuar.
    5. Una vez resueltos los conflictos, debes continuar el rebase con el comando “git rebase –continue”.
  2. Rebase sin interactividad:
    1. Ejecutar el comando “git rebase –onto” seguido del commit al que deseas rebasar, el commit base y la rama actual. Por ejemplo, “git rebase --onto HEAD~3 HEAD~1 master” para unir las dos últimas confirmaciones.

Es importante tener en cuenta que el rebase reescribe la historia de Git y puede causar problemas en los equipos. Por lo tanto, es recomendable usar rebase con precaución y solamente en repositorios locales antes de compartir tus cambios con otros.





Las herramientas de Git permiten hacer uso de Git de una forma más eficiente y personalizada. Ya sea a través de comandos personalizados, scripts de automatización, alias y otros; al personalizar tu experiencia de Git, podrás ahorrar tiempo, ser más productivo y lograr una integración más fluida con el resto de tus herramientas de desarrollo.

Ahora que concluiste el tema, tienes a tu disposición distintas herramientas y formas de personalización de Git, y podrás aplicarlas en tus proyectos para mejorar tus flujos de trabajo y optimizar tu productividad. Ahora que tienes estas habilidades, podrás profundizar en el uso de Git y seguir creciendo como desarrollador.




Asegúrate de:

  • Comprender el objetivo de etiquetar, utilizar alias y reescribir el historial para mejorar tu experiencia de trabajo en Git.
  • Identificar cada prefijo en cada comando para realizar las tareas de manera eficiente.
  • Comprender las implicaciones de modificar el historial en Git para evitar mal entendidos con tu equipo de trabajo.



  • Git. (s.f.-a). 2.6 Fundamentos de Git - Etiquetado.
    Recuperado de https://git-scm.com/book/es/v2/Fundamentos-de-Git-Etiquetado
  • Git. (s.f.-b). 2.7 Fundamentos de Git - Alias de Git.
    Recuperado de https://git-scm.com/book/es/v2/Fundamentos-de-Git-Alias-de-Git
  • Git. (s.f.-c). 7.6 Herramientas de Git - Reescribiendo la Historia.
    Recuperado de https://git-scm.com/book/es/v2/Herramientas-de-Git-Reescribiendo-la-Historia



Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.

Lecturas
Para conocer más acerca de Herramientas de Git y personalización, te sugerimos revisar lo siguiente:


Videos
Para conocer más acerca de Herramientas de Git y personalización, te sugerimos revisar lo siguiente:

  • DECODE Programacion. (2021, 10 de diciembre). ✅¿Cómo usar los TAGS en GIT? Lo Que Necesitas Saber【2022】-⚡️CURSO COMPLETO de GIT y GITHUB [Archivo de video]. Recuperado de https://youtu.be/zd5MOjxYNeI
  • Ivana Soledad Rojas Córsico. (2022, 11 de julio). GIT: GIT COMMIT --AMEND, GIT REBASE. Como reescribir el historial de Git. [Archivo de video].
    Recuperado dehttps://youtu.be/xpTQ80GtGkE
  • Socratech. (2022, 4 de noviembre). SocraTips - Cómo crear alias en Git - SocraTech [Archivo de video]. Recuperado de https://youtu.be/8wvYlLpU8d8



  • Computadora con acceso a Internet.
  • Instalar Git.





La obra presentada es propiedad de ENSEÑANZA E INVESTIGACIÓN SUPERIOR A.C. (UNIVERSIDAD TECMILENIO), protegida por la Ley Federal de Derecho de Autor; la alteración o deformación de una obra, así como su reproducción, exhibición o ejecución pública sin el consentimiento de su autor y titular de los derechos correspondientes es constitutivo de un delito tipificado en la Ley Federal de Derechos de Autor, así como en las Leyes Internacionales de Derecho de Autor.

El uso de imágenes, fragmentos de videos, fragmentos de eventos culturales, programas y demás material que sea objeto de protección de los derechos de autor, es exclusivamente para fines educativos e informativos, y cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por UNIVERSIDAD TECMILENIO.

Queda prohibido copiar, reproducir, distribuir, publicar, transmitir, difundir, o en cualquier modo explotar cualquier parte de esta obra sin la autorización previa por escrito de UNIVERSIDAD TECMILENIO. Sin embargo, usted podrá bajar material a su computadora personal para uso exclusivamente personal o educacional y no comercial limitado a una copia por página. No se podrá remover o alterar de la copia ninguna leyenda de Derechos de Autor o la que manifieste la autoría del material.