Todos hemos vivido lo que es trabajar en equipo con medios digitales y sabemos que puede ser extremadamente complejo saber cuál es la última versión de nuestro archivo y aún más agregar los cambios hechos por los miembros del equipo sin borrar o sobre escribir algo. Por eso se crearon los sistemas de versionamiento siendo hoy el más importante GIT.

¿Qué es GIT?

Es un sistema de manejo de versiones creado originalmente por Linus Torvalds y lanzado de forma oficial el 7 de abril de 2005. Hoy en día podríamos decir fácilmente que es el sistema más utilizado en el mundo, además de ser extremadamente practico y ligero permite que se manejen los archivos en lo que llamamos “bajo nivel” por lo que puede soportar cualquier tipo de archivos.

Características de GIT

Como hablamos la principal característica es que funciona en Bajo Nivel por lo que le es indiferente el tipo de archivo que va a manejar, sin embargo, existen muchas más cualidades que los hacen una excelente herramienta. Aquí algunas de las más importantes.

Manejo de ramas

Esto es debido a que esta basado en el desarrollo no lineal permitiendo que equipos grandes manejen los mismos archivos sin chocar y pudiendo elegir hasta versiones.

Gestión distribuida

Con esto nos referimos a que cada usuario puede tener descargado en su equipo local una copia además de manejar las versiones de los demás y actualizar su copia local.

Seguridad

En la administración podemos designar roles y cada rol asignarle permisos incluso a cada rama del proyecto.

Protocolos

Git permite la conexión al servidor de muchas formas siendo las dos más  usadas Http/s y SSH, pero además de estos existe FTP/S y Rsync

Historial

Mediante el servidor nosotros podemos hacer todo un seguimiento de los cambios que ha sufrido cada archivo y quien lo ha realizado, de igual manera podemos hacer regresiones y descartar los cambios realizados.

Revisiones

En documentos complejos antes de aceptar el cambio de un usuario podemos realizar revisiones completas y colocar comentarios para que se mejore o se cumplan todas las expectativas.

Crear nuestros proyectos

Para utilizar está herramienta en nuestros proyectos necesitamos un servidor central y sabemos que no todos contamos con uno en el inicio por lo que existen sitios web que nos permiten crear proyectos gratuitos claro con ciertas limitaciones. Algunos de ellos son:

Github

Tal vez sea hoy en día la plataforma más popular para proyectos principalmente hablando de Software libre, en esta herramienta podemos crear proyectos públicos y privados que usaran el estándar de git.

GitLab

Es otra herramienta menos social que Github que además de permite crear ciclos de validación conocidos como pipeline para poder crear pruebas automáticas.

BitBucket

Es una plataforma desarrollada por Atlassian y con una excelente conectividad a sus herramientas. Algo excelente en está herramienta es el manejo de proyectos unificando múltiples repositorios.

Comandos básicos

Si bien existen interfaces visuales que facilitan el uso de la herramienta es importante saber usarla de la forma básica por medio de comandos de texto.

git clone <link del proyecto>

Este comando tiene como propósito poder clonar o descargar el proyecto de la dirección en el folder donde estamos ubicados.

git add <* o archivo>

Usando está instrucción podemos agregar al paquete de cambios todos los archivos modificados o podemos hacerlo archivo por archivo.

git commit -m “<razón de cambio>”

Mediante este comando le estamos dando una razón de ser al paquete de cambios que llevamos actualmente y estamos permitiendo un nuevo paquete de cambios para poder enviar bloques separados.

git push

Finalmente, con está instrucción enviamos nuestros cambios al servidor y la rama en la que estamos trabajando.

git pull

Antes de hacer un git push es una buena practica realizar este comando ya que nos actualizara nuestros archivos actuales evitando que se pierdan los cambios realizados por otras partes del equipo.