Saltar al contenido

Informática a distancia: Control de Versiones II

0 Shares
image_print

Autor: Erick J. Arrechedera. Centro de Seguridad Informática y Certificación Electrónica (CSICE). FIIIDT. 

 

Introducción

En la primera parte de este tema, vimos la introducción a lo que conocemos (en el ambiente tecnológico) como Control de Versiones, sus tipos (según su arquitectura de almacenamiento), ventajas y algunas desventajas, también su importancia en la nueva era del trabajo a distancia y además su implementación en tiempos de confinamiento por el COVID-19.

En esta segunda parte, hablaremos más específicamente de Git, que es un software libre que nos permite gestionar nuestro control de versiones de un determinado proyecto. Hoy en día Git es uno de los mas utilizados. Su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos.

Desde su lanzamiento (2005), Git se ha convertido en un sistema de control de versiones con funcionalidad plena. Hay algunos proyectos de mucha relevancia que ya usan Git, en particular, el grupo de programación del núcleo Linux.

Características

La principal diferencia entre Git y cualquier otro VCS, es la forma en la que manejan sus datos. Conceptualmente, la mayoría de los otros sistemas almacenan la información como una lista de cambios en los archivos. Estos sistemas (CVS, Subversion, Perforce, etc.), manejan la información que almacenan como un conjunto de archivos y las modificaciones hechas a cada uno de ellos a través del tiempo.

Git es verificado mediante una suma de comprobación (checksum en inglés) antes de ser almacenado, y es identificado a partir de ese momento mediante dicha suma. Esto significa que es imposible cambiar los contenidos de cualquier archivo o directorio sin que Git lo sepa.

El mecanismo que usa Git para generar esta suma de comprobación se conoce como hash SHA-1. Se trata de una cadena de 40 caracteres hexadecimales (0-9 y a-f), y se calcula con base en los contenidos del archivo o estructura del directorio en Git.

Git tiene tres estados principales en los que se pueden encontrar tus archivos: confirmado (committed), modificado (modified), y preparado (staged).

  • Confirmado: significa que los datos están almacenados de manera segura en tu base de datos local.
  • Modificado: significa que has modificado el archivo pero todavía no lo has confirmado a tu base de datos.
  • Preparado: significa que has marcado un archivo modificado en su versión actual para que vaya en tu próxima confirmación.

El flujo de trabajo básico en Git funciona de esta manera:

Figura 1: Ciclo de vida de los archivos mediante Git
Fuente: https://git-scm.com/

  1. Modificas una serie de archivos en tu directorio de trabajo.
  2. Preparas los archivos, añadiéndolos a tu área de preparación.
  3. Confirmas los cambios, lo que toma los archivos tal y como están en el área de preparación y almacena esa copia instantánea de manera permanente en tu directorio de Git.

Otras características de Git, son las siguientes:

  • Incluye herramientas específicas para navegar y visualizar un historial de desarrollo no lineal.
  • Gestión distribuida. Git le da a cada programador una copia local del historial del desarrollo entero, y los cambios se propagan entre los repositorios locales.
  • Los almacenes de información pueden publicarse por HTTP, FTP, rsync o mediante un protocolo nativo, ya sea a través de una conexión TCP/IP simple o a través de cifrado SSH.
  • Rapidez de gestión de diferencias entre archivos, entre otras mejoras de optimización de velocidad de ejecución.
  • Todas las versiones previas a un cambio determinado, implican la notificación de un cambio posterior en cualquiera de ellas.
  • Los archivos renombrados se trabajan basándose en similitudes entre ficheros, aparte de nombres de ficheros, pero no se hacen marcas explícitas de cambios de nombre, lo que evita posibles y desastrosas coincidencias de ficheros diferentes en un único nombre.

Recursos para aprender a usar Git

Existen muchos recursos para aprender a usar Git:

  • Primeramente, se recomienda utilizar un cliente con interfaz gráfica, ya que al principio se vuelve bastante complejo.
  • Utilizar la documentación propia y guía de uso de Git para aprender lo básico.
  • Realizar tutoriales del paso a paso, como introducción a su uso.
  • Utilizar Git Bash terminal para trabajar con línea de comandos.

La mejor manera de usar Git

Una de las mejores maneras de usar Git es combinándolo con un servicio como GitHub, Bitbucket o GitLab que te permita tener siempre disponible tu repositorio. Además estos servicios suelen añadir multitud de funcionalidades como:

  • Estadísticas de uso del proyecto.
  • Gestión de incidencias.
  • Soporte para que otros usuarios colaboren en tus repositorios.
  • Integración con otras herramientas.
  • Sistemas de integración continua.
  • Sistemas de gestión la calidad.

Conclusiones

Git plantea muchas opciones en la forma de trabajar en torno a un proyecto. Sin embargo, para coordinar el trabajo de un grupo de personas en torno a un proyecto es necesario acordar como se va a trabajar con Git.

También es importante, procesar la mayor cantidad de documentación posible antes y durante el uso de Git, ya que se trata de una gran herramienta que utilizada de la forma correcta, se convierte en un potenciador de los proyectos y es capaz de mejorar los tiempos de respuesta de forma exponencial cuando es bien manejado.

Referencias

  1. https://git-scm.com/
  2. https://es.wikipedia.org/
  3. https://lenguajedeprogramacion.com/

 

Contacto: earrechedera@fii.gob.ve

Compartir en Redes Sociales
0 Shares