Git el sistema de control de versiones más utilizado cumple 15 años desde que salió a la luz esta gran herramienta
Era el mes de abril del año 2005. Linus Torvalds, el creador del kernel Linux necesitaba una herramienta que pudiera gestionar mejor el flujo de trabajo de la enorme comunidad creciente que contribuía al código de Linux.
Así que se retiró durante una semana, estuvo trabajando y creó el código desde cero de una nueva herramienta. Un 7 de abril de 2005 se publicó el auncio del código de git y se dió a conocer esta gran herramienta que todo desarrollador debe conocer y manejar.
Linus Torvalds creó esta herramienta como medio de gestionar parches y colaboraciones en el código del kernel Linux. Liberó el código que había creado como software libre y una vez que la herramienta estaba en marcha, cedió el control del código de la propia herramienta a Junio Hamano y siguió centrándose en Linux su proyecto principal.
Existían opciones de control de versiones antes de git, de hecho en el desarrollo de Linux utilizaban BitKeeper. Pero después de algún problema con el desarrollador de esta herramienta, Linus decidió tomarse un tiempo de «vacaciones» y salió con git debajo del brazo.
15 años después, la herramienta se ha convertido en algo indispensable, para muchas empresas que confían en git el control de su código y la gestión de parches de diferentes colaboradores.
15 años después git ha crecido y la herramienta se ha convertido en una de las necesarias a la hora de querer colaborar en cientos de proyectos de software libre y también software privativo.
Empresas como Google, Facebook, Microsoft o múltiples proyectos como KDE, GNOME, openSUSE, y muchos otros confían en git como herramienta a la hora de controlar el software que desarrollan.
Git es la herramienta en la que cada desarrollador tiene una copia del software, trabaja en ella y se guarda en un servidor central. Cualquier desarrollador puede descargarse ese software y ver quien y cuando se hicieron modificaciones en el código.
Puede de una manera más o menos sencilla, revertir cambios y tener un seguimiento del proyecto desde el «commit» inicial.
Cada contribución está «firmada» con un «hash» o número identificativo generado de manera única para esa contribución específica.
Esto también facilitó la tarea de integrar varias ramas de desarrollo de un software específico en la rama principal del proyecto.
Después ya surgieron las archi conocidas plataformas como GitHub o Gitlab, en el que hospedar el código y hacer sencillo la contribución de código.
Pero cabe diferenciar que git es independiente de esas plataformas. Puedes usar git sin necesidad de un repositorio central. Puedes tu mismo hacer un control de versiones de una tésis, un libro u otro proyecto en el que estés trabajando.
Porque desde luego git es para código, pero con el paso de los años, hemos descubierto que git sirve para llevar el control de versiones de muchas otras cosas, no sólo código. Al final todo lo que guardamos en nuestros equipos son ceros y unos, da igual que sea código, que sea una imagen o un texto.
Git es la herramienta que muchos sin ser desarrolladores (como yo mismo) nos hemos visto «obligados» a manejar por lo menos en lo más básico si queríamos participar y colaborar en proyectos de software libre.
Git es una gran herramienta que tiene una curva de aprendizaje pronunciada, y que debes conocer muy bien las bases de cómo funciona. Después de eso, la práctica hace al maestro. Meterás (meteré) la pata más de una vez, pero oye, de esos errores también se aprende (de donde más se aprende, me atrevería a decir).
En mi blog he escrito algunos tutoriales y artículos sobre git. Los tienes aquí reunidos, por si quieres consultarlos, espero que alguno te resulte interesante y aprendas algo nuevo.