Saltar al contenido principal

20 años de Git

El tiempo vuela y a veces damos por sentado que ‘git’ siempre ha existido, los que ya llevamos unos cuantos años en este mundillo del desarrollo sabemos que no es así y que hubo un “antes de git” y trabajar de forma colaborativa “tan fácil y eficiente” como hacemos ahora con git no fue siempre así. Hubo un tiempo donde resolver el haber “tocado el mismo fichero” que tu compañero, era un problema considerable y más si el fichero contenía múltiples cambios. Por los 2000 ya existían algunas herramientas para hacer más fácil la colaboración en proyectos de software, pero no eran muy fáciles de usar y cada una tenia sus ventajas y problemas.

Git nació para mejorar el desarrollo del kernel de Linux, ya que la colaboración a través de listas de correo se volvía cada vez más frustrante y difícil de manejar a medida que más gente participaba en su desarrollo. La comunidad siempre había usado las listas de correo para colaborar, de hecho, es una forma fascinante de trabajo en equipo, distribuido, local y capaz de generar discusiones sobre el código que se incorpora en el proyecto, el proceso era de forma simplificada el siguiente:

1️⃣ Publicar un archivo tarball (algo parecido a un archivo zip) que representa un estado conocido del proyecto.

2️⃣ La gente descarga ese archivo y lo descomprime localmente.

3️⃣ Lo modifican con la característica o corrección que desean cambiar.

4️⃣ Ejecutan “GNU diff” para crear un parche que el mantenedor puede aplicar a ese estado inicial conocido para añadir esa característica.

5️⃣ Envían ese parche o una serie de ellos a una lista de correo.

6️⃣ En la lista de correo se discuten los cambios.

7️⃣ El mantenedor aplica el parche para la siguiente publicación del tarball o pide cambios.

8️⃣ Se repite el proceso.

No fue hasta 2005 que el bueno de Linus Torvalds, sí, el creador de Linux, lanzó la primera versión de git, precisamente el 7 de Abril de 2005, con el mensaje «Initial revision of “git”, the information manager from hell» se basó en BitKeeper que era software privativo, pero ofrecía versión gratuita, de hecho desde 2002 ya se estaba usando para el desarrollo del kernel, ya que el tema de las listas de correo ya estaba dando sus dificultades para ser mantenidas. Al dejar de poder usar de forma gratuita BitKeeper, Linus, decidió hacer su versión con “vitaminas”, lo que se conoce como “git”.

Git ha evolucionado en estos años y convertido en la herramienta estándar de la industria del desarrollo, también han surgido herramientas y proyectos, como GitHub, GitLab, Bitbucket, todas ellas usando git como base. El ecosistema de herramientas y servicios alrededor de git es enorme.

Y tu, ¿te imaginas desarrollar ahora sin usar git? Yo no.

Este artículo se publicó primero en LinkedIn