Git para todos

103

-Si eres diseñador gráfico, poeta, escritor, chef, arquitecto, doctor, enfermera, estudiante, etc… Cualquier persona que quiera dar seguimiento a sus archivos con Git puede lograrlo-

En esta ocasión hablaré de Git con un enfoque distinto, existe mucha información en la red sobre cómo usarlo, Git se ha convertido en un control de versiones muy popular por facilitarnos la vida a los que realizamos proyectos de software para tener un seguimiento correcto de las versiones de los archivos. En este artículo más que mostrar los aspectos técnicos al utilizar Git, trataré de animar a otras personas que no son programadores a conocer y usar este control de versiones y agregaré algunos enlaces que nos ayudarán a profundizar más en el tema.

¿ Qué es Git ?

Para las personas que no saben exáctamente que es Git lo explicaré brevemente:

Git es un sistema de control de versiones que da seguimiento a archivos comúnmente de un proyecto, digo: “comúnmente proyecto” porque también podemos realizar seguimiento de una colección de archivos sin que tengan interacción entre ellos o sean estrictamente un proyecto de software. Git fue diseñado para llevar el registro de cambios de cada uno de los archivos que se agreguen al seguimiento.

Los que conocemos Git sabemos que es mayormente utilizado por programadores para llevar el control de versiones de todos los archivos de los proyectos de software, otorgando la posibilidad de saber cual usuario y en qué fecha exactamente se ha hecho una modificación en una línea de texto, código, palabra, imagen, etc. Cuando tenemos un proyecto o colección de archivos sea grande o pequeña y queremos trabajar de una manera más controlada, es decir, queremos ir paso a paso agregando modificaciones en los archivos y volver a cualquier punto de esas modificaciones de manera rápida y segura, ya sea para tener la certeza de no estropear el proyecto en un punto o porque lo estamos trabajando de manera colaborativa entre varias personas, Git es la herramienta indicada a utilizar en cualquier tipo de proyecto y para cualquier persona.

Lectura recomendada:
https://es.wikipedia.org/wiki/Git

Un poco de historia de Git

En mi artículo anterior cuando hablaba del sistema operativo GNU/Linux y la Libertad, hice mención del kernel de este sistema operativo, pues bien, el kernel Linux en sus inicios fue un proyecto pequeño comparado con lo que es hoy en día, este proyecto conforme iba creciendo en cantidad de líneas de código y en programadores voluntarios, se fue complicando el control de modificaciones del mismo y sus versiones, fue necesario crear una herramienta libre con arquitectura distribuida que llevase un seguimiento completo del proyecto para poder seguir agregando nuevas funcionalidades al kernel y poder facilitar arreglar los errores de una manera más efectiva, la herramienta que fue el resultado para llevar el control de versiones de este proyecto fue Git, reemplazando lo que existía en ese entonces.

Lectura recomendada:
https://git-scm.com/book/es/v1/Empezando-Una-breve-historia-de-Git

¿ Qué es lo que inadecuadamente hacemos cuando queremos versionar archivos ?

Bien, imaginemos que estamos trabajando en un proyecto pequeño que tiene 2 archivos:

poema.txt (archivo de texto plano que contiene un bello poema)

imagen.png (una imagen que acompaña al poema)

Al terminar de escribir nuestro poema nos ha gustado lo suficiente pero no descartamos la posibilidad de mejorarlo posteriormente, entonces lo que regularmente hacemos para no perder nuestra primera versión del poema es copiar o guardar el archivo poema.txt en una carpeta distinta o en esa misma carpeta cambiamos el nombre a poema_version1.txt  y así sucesivamente con las versiones posteriores. Este tipo de práctica puede causarnos problemas y se complica cuando los proyectos son grandes o el número de versiones de nuestros archivos incrementa de manera considerable, estas tareas se vuelven más complicadas incluso si son muchas o varias personas las que están trabajando el mismo proyecto y modificando los mismos archivos al mismo tiempo.

Para evitar hacer lo anterior, con Git podemos indicar que archivos nos interesa dar seguimiento e ir guardando “fotografías” exactas llamadas commits de nuestros archivos de una manera mucho más eficiente.

Nota importante:

Git puede dar seguimiento a cualquier tipo de archivo (textos, imágenes, binarios, lo que sea) ya que git internamente analiza los archivos a nivel de bits. La vista previa de los cambios y diferencias de los archivos de texto pueden ser mostradas siempre y cuando el formato sea compatible con el frontend de Git que estemos utilizando, como podemos observar a continuación desde la plataforma de github:

git_front_example

La imagen anterior es el frontend llamado Github para Git, en el cual podemos observar la diferencia entre imagenes entre dos commits distintos.

Enlace recomendado:
https://github.com

En caso de que la vista previa no está disponible desde la plataforma o software que utilicemos para git, lo que haríamos sería decirle a git que nos regrese a la versión del archivo que queremos visualizar y lo abriremos con el software indicado con el que hemos creado el archivo.

Lectura recomendada:

https://es.wikipedia.org/wiki/Archivo_de_texto
https://es.wikipedia.org/wiki/GitHub

Pasemos a la pregunta del millón de este artículo: ¿ Puedo utilizar Git si no soy programador ?

Si eres diseñador gráfico, poeta, escritor, chef, arquitecto, doctor, enfermera, estudiante, etc… Cualquier persona que quiera dar seguimiento a sus archivos con Git puede lograrlo y las ventajas que obtienen son prácticamente las mismas a las de los programadores que utilizan git.

A continuacion algunos casos que se me ocurren y existen infinidad de posibilidades:

1- En el caso de los diseñadores gráficos es posible regresar a las versiones anteriores de cualquier imagen/archivo con cualquier formato de software de diseño, recuperarlas y compararlas, esto facilita bastante a un diseñador para tener múltiples versiones de sus trabajos en repositorios git bien ordenados y divididos por proyectos.

2- Un escritor, blogger o editor puede navegar entre las versiones de sus escritos y utilizar un lenguaje de marcado ligero como puede ser markdown que es compatible con github y muchas otras plataformas online.

3- Un chef puede guardar sus recetas en un repositorio git y modificarlas y acceder a ellas desde cualquier sitio con internet desde su teléfono móvil.

4- Como estudiante, versionar una tesis es una gran idea (personalmente cuando hice mi tesis en la universidad todo el código, documentación, manuales e impresión final los versione con git de maravilla y me ahorró muchos dolores de cabeza).

5- Crear un repositorio git online incluso solo para respaldo y disponibilidad de archivos (los repositorios online pueden ser públicos y privados) un ejemplo de uso son los dotfiles  https://dotfiles.github.io/

6- Llevar un blog con https://pages.github.com/

7- Personal docente, catedráticos utilizan esta plataforma para que sus alumnos suban sus tareas y proyectos pueda ser clonados y revisados con facilidad.

Las posibilidades de uso son muchas…

Finalmente ¿ Como se instala o por donde empiezo con Git ?

Primeramente quiero mencionar los comandos o conceptos más utilizados con git para así ofrecerte un punto de partida:

git init Inicializa un proyecto o carpeta con Git.
git add Agregar un archivo a seguimiento.
git commit Crea un commit ” una fotografia exacta de los archivos agregados anteriormente con git add”
git clone Descarga, Clona un respositorio o proyecto.
git push Empuja los cambios al repositorio.
git pull Descarga los cambios del repositorio.
git reset Regresa a ‘x’ commit o version del proyecto (muy útil cuando hemos hecho algo mal y queremos volver a ‘x’ punto guardado).

Actualmente git cuenta con muchas interfaces de usuario GUI que dan facilidad de uso a Git, incluso sin necesidad de escribir un solo comando en la consola o la terminal.

Descargas y listado de Git GUI clients:

https://git-scm.com/downloads/guis/

Libro sobre Git que recomiendo leer:

https://git-scm.com/book/es/v1

o simplemente buscando un video en youtube de uso básico de Git y Github ayudará a aprender sobre este excelente control de versiones.

COMPARTIR
Artículo anteriorKhan Academy una herramienta para aprender
Artículo siguienteA la sombra Mozart
Informático titulado en Universidad de Guadalajara del Centro Universitario CUCEI. Apasionado desde niño por la tecnología en general, computadoras, internet, programación, hacking y seguridad informática. Simpatizante y seguidor del software libre y su filosofía, GNU/Linux, y todo lo que tenga que ver con la libertad y compartir conocimiento. En el deporte: practicante de Martial tricking, administrador del gimnasio multidisciplinario JUMP GDL.