
En abril de 2005 el kernel Linux se quedó sin sistema de versionado. BitKeeper, propietario, había enseñado el flujo distribuido — y Larry McVoy retiró la licencia después de que Andrew Tridgell aplicara ingeniería inversa al protocolo. Linus Torvalds no volvió a los tarball y parches. En unos diez días escribió Git: instantáneas de árbol, contenido direccionado por hash, lo bastante rápido para el kernel. Veintiún años después Git 2.55 sigue siendo lo que casi todo repositorio del planeta usa — y Linus ya había dejado el mantenimiento en julio de 2005.
En 2025, en los 20 años del primer commit, GitHub se sentó con él. La sorpresa, dice, no fue seguir usándolo. Fue que el mundo entero hubiera copiado la solución a un problema suyo.
Antes: parches, tarball y BitKeeper
De 1991 a 2002 el kernel funcionaba por correo electrónico: parches y archivos compactados. En 2002 el proyecto adoptó BitKeeper de BitMover. Linus odiaba CVS — lento, centralizado, con fusiones miserables. BitKeeper fue “el primer SCM que valía la pena usar”: enseñó el flujo que Git todavía copia. La licencia gratuita para el kernel duró hasta 2005. McVoy acusó a Tridgell (Samba) de ingeniería inversa. La exención cayó. Nadie quería volver a los tarball.
Los criterios que Linus anotó eliminaron todo lo que existía: velocidad, diseño simple, miles de ramas en paralelo, verdaderamente distribuido y soportar el volumen del kernel sin corromper el historial. Ya venía pensando en esto desde finales de 2004. El código salió rápido porque el diseño ya estaba en su cabeza.
Abril de 2005: diez días y el primer commit
3 de abril: empieza a escribir. 6 de abril: lo anuncia. 7 de abril: Git pasa a alojarse a sí mismo — el commit inicial tiene 1.244 líneas y la descripción “the information manager from hell”. 16 de abril: primer commit del kernel en Git. 18 de abril: primer merge de ramas. 29 de abril: 6,7 parches por segundo en el tree del kernel. 16 de junio: Git gestiona el release 2.6.12.
El nombre es un chiste británico (git = algo insoportable) y, en el propio commit, un backronym: global information tracker. SHA-1 no era “seguridad criptográfica”; era un detector de corrupción. En 2026 el SHA-256 ya es una opción; el predeterminado sigue siendo SHA-1. Linus sigue diciendo que el cambio nunca fue el objetivo.
En mayo de 2007 fue a Google a explicar el bicho. La charla sigue siendo el mejor “por qué no es CVS” que existe:
Junio Hamano, 26 de julio de 2005
Linus nunca quiso mantener Git. “En el momento en que aparezca alguien en quien confíe, vuelvo al kernel.” Junio Hamano (gitster) tomó el testigo el 26 de julio de 2005 y no lo soltó. La 1.0 salió el 21 de diciembre del mismo año. Linus sigue usando, hasta hoy, un puñado de comandos: merge, blame, log, commit, pull, status. El resto es el proyecto de Junio y de cientos de colaboradores.
Entre 2007 y 2010 la queja (“¿por qué los nombres son diferentes de CVS?”) se convirtió en lo contrario: una generación que nunca había usado SCM y para la que Git era el predeterminado. GitHub abre en 2008; GitLab, Bitbucket, Gitea, Forgejo. El pull request no está en Git — está en la capa social de encima. Sin el objeto direccionado por hash, esa capa no existiría.
Qué es Git, en una frase
No es un delta de archivo. Es una base de datos de snapshots: blob, tree, commit, tag — cada uno un objeto, cada uno un hash. Una rama es un puntero. Un merge es un commit con dos padres. Clonas el repositorio entero, no un checkout. Por eso el kernel, Android, Chromium y tu README caben en el mismo modelo. La historia de Unix/Linux en este blog está en Linux cumple 35 años; el cheatsheet en portugués, en Git simple y rápido.
2026: Git 2.55, Rust y el rumbo de la 3.0
En 29 de junio de 2026 Junio anunció Git 2.55: Rust enlazado por defecto en la compilación (todavía se puede salir con NO_RUST; en 3.0 puede volverse obligatorio), el subcomando experimental git history (reword, split, fixup sin desordenar el working tree), fsmonitor nativo en Linux, push a grupo de remotes. SHA-1 y SHA-256 empiezan a interoperar. El Git 3, comentado en el FOSDEM por Patrick Steinhardt, es el próximo corte — no un Git nuevo, el mismo disco, menos C inseguro.
La oleada de agentes de IA está estresando a GitHub; el protocolo Git, en sí, sigue siendo el mismo de 2005. Linus, en el kernel 7.x, sigue haciendo merge window con Git y correo electrónico. El hobby que “no iba a ser grande” ganó un hermano que, esta vez, él admitió haber escrito porque lo necesitaba.
Cierre
Dos artefactos del mismo finlandés: el kernel y Git. El primero nunca lo soltó. El segundo lo soltó en cuatro meses y el mundo entero lo adoptó. Junio Hamano cumple 21 años de maintainer en 2026. El rombo naranja en la portada es el mismo de 2005. El flujo — clone, branch, merge, hash — también.
Para los comandos del día a día: Git simple y rápido. Para el autor: la historia de Linus Torvalds.