Competencias TICJOB: GIT

Para poder comprender qué es GIT, es necesario saber lo que es el “Control de Versiones” (VSC).  El VSC es un sistema que registra los cambios realizados sobre un archivo a lo largo del tiempo, dándote la opción en un futuro de recuperar versiones específicas y coordinar el trabajo sobre archivos compartidos que pueden estar realizando varias personas.

GIT modela sus datos como un conjunto de instantáneas de un mini sistema de archivos. Cada vez que confirmas un cambio, se hace una foto del estado de todos tus archivos en ese momento, guardando una referencia a esa instantánea. Si los archivos no se han modificado, en lugar de almacenar el archivo de nuevo, GIT sólo guarda un enlace al archivo anterior idéntico al que ya tiene almacenado.

Todo en GIT es verificado mediante una suma de comprobación e identificado a partir de ese momento mediante dicha suma, haciendo imposible cambiar los contenidos de cualquier archivo o directorio sin que GIT que quede constancia.

GIT tiene 3 estados principales en los que se pueden encontrar tus archivos: confirmado, donde los datos están almacenados en tu base de datos local de manera segura, modificado, el archivo ha sido cambiado, pero todavía no lo has confirmado a tu base de datos y preparado, significa que has marcado un archivo modificado en su versión actual para que vaya en tu próxima confirmación.

Estos estados pasan a las 3 secciones principales de un proyecto GIT: el directorio de GIT, el directorio de trabajo y el área de preparación.

Entre las características más relevantes se encuentran:

·         Fuerte apoyo al desarrollo no lineal. GIT 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 cambios se importan como ramas adicionales y pueden ser fusionados en la misma manera que se hace con la rama local.

·         Los almacenes de información pueden publicarse por HTTPFTP o mediante un protocolo nativo, ya sea a través de una conexión TCP/IP simple o a través de cifrado SSH.

·         Gestión eficiente de proyectos grandes, dada la 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 implican la notificación de un cambio posterior en cualquiera de ellas a ese cambio.