{"id":498,"date":"2026-09-06T00:07:50","date_gmt":"2026-09-06T03:07:50","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2026\/09\/a-historia-do-git\/"},"modified":"2026-09-08T07:57:21","modified_gmt":"2026-09-08T10:57:21","slug":"a-historia-do-git","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/es\/2026\/09\/a-historia-do-git\/","title":{"rendered":"La historia de Git: diez d\u00edas que cambiaron el c\u00f3digo"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro desenhando o ramo do Git no quadro branco, ao lado do losango do projeto\" src=\"\/wp-content\/uploads\/2026\/09\/git-historia-v2.webp\" width=\"1052\" height=\"652\" \/><\/p>\n<p>En abril de 2005 el kernel Linux se qued\u00f3 sin sistema de versionado. BitKeeper, propietario, hab\u00eda ense\u00f1ado el flujo distribuido \u2014 y Larry McVoy retir\u00f3 la licencia despu\u00e9s de que Andrew Tridgell aplicara ingenier\u00eda inversa al protocolo. <a href=\"\/es\/2026\/09\/a-historia-de-linus-torvalds\/\">Linus Torvalds<\/a> no volvi\u00f3 a los tarball y parches. En unos diez d\u00edas escribi\u00f3 Git: instant\u00e1neas de \u00e1rbol, contenido direccionado por hash, lo bastante r\u00e1pido para el kernel. Veinti\u00fan a\u00f1os despu\u00e9s Git 2.55 sigue siendo lo que casi todo repositorio del planeta usa \u2014 y Linus ya hab\u00eda dejado el mantenimiento en julio de 2005.<\/p>\n<p><!-- more --><\/p>\n<p>En 2025, en los 20 a\u00f1os del primer commit, GitHub se sent\u00f3 con \u00e9l. La sorpresa, dice, no fue seguir us\u00e1ndolo. Fue que el mundo entero hubiera copiado la soluci\u00f3n a un problema suyo.<\/p>\n<div style=\"position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:1.5em 0\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/sCr_gb8rdEI\" title=\"Two decades of Git: A conversation with creator Linus Torvalds \u2014 GitHub\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen style=\"position:absolute;top:0;left:0;width:100%;height:100%;border:0\"><\/iframe>\n<\/div>\n<h2>Antes: parches, tarball y BitKeeper<\/h2>\n<p>De 1991 a 2002 el kernel funcionaba por correo electr\u00f3nico: parches y archivos compactados. En 2002 el proyecto adopt\u00f3 BitKeeper de BitMover. Linus odiaba CVS \u2014 lento, centralizado, con fusiones miserables. BitKeeper fue \u201cel primer SCM que val\u00eda la pena usar\u201d: ense\u00f1\u00f3 el flujo que Git todav\u00eda copia. La licencia gratuita para el kernel dur\u00f3 hasta 2005. McVoy acus\u00f3 a Tridgell (Samba) de ingenier\u00eda inversa. La exenci\u00f3n cay\u00f3. Nadie quer\u00eda volver a los tarball.<\/p>\n<p>Los criterios que Linus anot\u00f3 eliminaron todo lo que exist\u00eda: velocidad, dise\u00f1o simple, miles de ramas en paralelo, verdaderamente distribuido y soportar el volumen del kernel sin corromper el historial. Ya ven\u00eda pensando en esto desde finales de 2004. El c\u00f3digo sali\u00f3 r\u00e1pido porque el dise\u00f1o ya estaba en su cabeza.<\/p>\n<h2>Abril de 2005: diez d\u00edas y el primer commit<\/h2>\n<p>3 de abril: empieza a escribir. 6 de abril: lo anuncia. 7 de abril: Git pasa a alojarse a s\u00ed mismo \u2014 el commit inicial tiene 1.244 l\u00edneas y la descripci\u00f3n \u201cthe information manager from hell\u201d. 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.<\/p>\n<p>El nombre es un chiste brit\u00e1nico (<em>git<\/em> = algo insoportable) y, en el propio commit, un backronym: <em>global information tracker<\/em>. SHA-1 no era \u201cseguridad criptogr\u00e1fica\u201d; era un detector de corrupci\u00f3n. En 2026 el SHA-256 ya es una opci\u00f3n; el predeterminado sigue siendo SHA-1. Linus sigue diciendo que el cambio nunca fue el objetivo.<\/p>\n<p>En mayo de 2007 fue a Google a explicar el bicho. La charla sigue siendo el mejor \u201cpor qu\u00e9 no es CVS\u201d que existe:<\/p>\n<div style=\"position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:1.5em 0\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/4XpnKHJAok8\" title=\"Tech Talk: Linus Torvalds on git \u2014 Google 2007\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen style=\"position:absolute;top:0;left:0;width:100%;height:100%;border:0\"><\/iframe>\n<\/div>\n<h2>Junio Hamano, 26 de julio de 2005<\/h2>\n<p>Linus nunca quiso mantener Git. \u201cEn el momento en que aparezca alguien en quien conf\u00ede, vuelvo al kernel.\u201d Junio Hamano (gitster) tom\u00f3 el testigo el 26 de julio de 2005 y no lo solt\u00f3. La 1.0 sali\u00f3 el 21 de diciembre del mismo a\u00f1o. Linus sigue usando, hasta hoy, un pu\u00f1ado de comandos: <code data-no-translation=\"\">merge<\/code>, <code data-no-translation=\"\">blame<\/code>, <code data-no-translation=\"\">log<\/code>, <code data-no-translation=\"\">commit<\/code>, <code data-no-translation=\"\">pull<\/code>, <code data-no-translation=\"\">status<\/code>. El resto es el proyecto de Junio y de cientos de colaboradores.<\/p>\n<p>Entre 2007 y 2010 la queja (\u201c\u00bfpor qu\u00e9 los nombres son diferentes de CVS?\u201d) se convirti\u00f3 en lo contrario: una generaci\u00f3n que nunca hab\u00eda usado SCM y para la que Git era el predeterminado. GitHub abre en 2008; GitLab, Bitbucket, Gitea, Forgejo. El pull request no est\u00e1 en Git \u2014 est\u00e1 en la capa social de encima. Sin el objeto direccionado por hash, esa capa no existir\u00eda.<\/p>\n<h2>Qu\u00e9 es Git, en una frase<\/h2>\n<p>No es un delta de archivo. Es una base de datos de snapshots: blob, tree, commit, tag \u2014 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\u00e1 en <a href=\"\/es\/2026\/09\/linux-35-anos\/\">Linux cumple 35 a\u00f1os<\/a>; el cheatsheet en portugu\u00e9s, en <a href=\"\/es\/2017\/04\/git-simples-e-rapido\/\">Git simple y r\u00e1pido<\/a>.<\/p>\n<h2>2026: Git 2.55, Rust y el rumbo de la 3.0<\/h2>\n<p>En 29 de junio de 2026 Junio anunci\u00f3 Git 2.55: Rust enlazado por defecto en la compilaci\u00f3n (todav\u00eda se puede salir con <code data-no-translation=\"\">NO_RUST<\/code>; en 3.0 puede volverse obligatorio), el subcomando experimental <code data-no-translation=\"\">git history<\/code> (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\u00f3ximo corte \u2014 no un Git nuevo, el mismo disco, menos C inseguro.<\/p>\n<p>La oleada de agentes de IA est\u00e1 estresando a GitHub; el protocolo Git, en s\u00ed, sigue siendo el mismo de 2005. Linus, en el kernel 7.x, sigue haciendo merge window con Git y correo electr\u00f3nico. El hobby que \u201cno iba a ser grande\u201d gan\u00f3 un hermano que, esta vez, \u00e9l admiti\u00f3 haber escrito porque lo necesitaba.<\/p>\n<h2>Cierre<\/h2>\n<p>Dos artefactos del mismo finland\u00e9s: el kernel y Git. El primero nunca lo solt\u00f3. El segundo lo solt\u00f3 en cuatro meses y el mundo entero lo adopt\u00f3. Junio Hamano cumple 21 a\u00f1os de maintainer en 2026. El rombo naranja en la portada es el mismo de 2005. El flujo \u2014 clone, branch, merge, hash \u2014 tambi\u00e9n.<\/p>\n<p>Para los comandos del d\u00eda a d\u00eda: <a href=\"\/es\/2017\/04\/git-simples-e-rapido\/\">Git simple y r\u00e1pido<\/a>. Para el autor: <a href=\"\/es\/2026\/09\/a-historia-de-linus-torvalds\/\">la historia de Linus Torvalds<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Em abril de 2005 o kernel Linux ficou sem sistema de vers\u00e3o. O BitKeeper, propriet\u00e1rio, tinha ensinado o fluxo distribu\u00eddo \u2014 e Larry McVoy tirou a licen\u00e7a depois que Andrew Tridgell reverse-engineered o protocolo. Linus Torvalds n\u00e3o voltou para tarball e patch. Em cerca de dez dias escreveu o Git: snapshot de \u00e1rvore, conte\u00fado endere\u00e7ado &#8230; <a title=\"La historia de Git: diez d\u00edas que cambiaron el c\u00f3digo\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/es\/2026\/09\/a-historia-do-git\/\" aria-label=\"Leer m\u00e1s sobre A hist\u00f3ria do Git: dez dias que mudaram o c\u00f3digo\">Leer m\u00e1s<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45,46,2,111],"tags":[199,48,49,200,185],"class_list":["post-498","post","type-post","status-publish","format-standard","hentry","category-desenv","category-devops","category-linux","category-opensource","tag-bitkeeper","tag-git","tag-github","tag-junio-hamano","tag-linus-torvalds"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/498","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/comments?post=498"}],"version-history":[{"count":3,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/498\/revisions"}],"predecessor-version":[{"id":1159,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/498\/revisions\/1159"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/media?parent=498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/categories?post=498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/tags?post=498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}