{"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\/en\/2026\/09\/a-historia-do-git\/","title":{"rendered":"A hist\u00f3ria do Git: dez dias que mudaram o 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>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. <a href=\"\/en\/2026\/09\/a-historia-de-linus-torvalds\/\">Linus Torvalds<\/a> n\u00e3o voltou para tarball e patch. Em cerca de dez dias escreveu o Git: snapshot de \u00e1rvore, conte\u00fado endere\u00e7ado por hash, r\u00e1pido o bastante para o kernel. Vinte e um anos depois o Git 2.55 ainda \u00e9 o que quase todo reposit\u00f3rio do planeta usa \u2014 e Linus j\u00e1 tinha largado a manuten\u00e7\u00e3o em julho de 2005.<\/p>\n<p><!-- more --><\/p>\n<p>Em 2025, nos 20 anos do primeiro commit, o GitHub sentou com ele. A surpresa, diz, n\u00e3o foi continuar usando. Foi o mundo inteiro ter copiado a solu\u00e7\u00e3o de um problema dele.<\/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: patch, tarball e BitKeeper<\/h2>\n<p>De 1991 a 2002 o kernel andava por e-mail: patch e arquivo compactado. Em 2002 o projeto adotou o BitKeeper da BitMover. Linus odiava CVS \u2014 lento, centralizado, merge miser\u00e1vel. O BitKeeper foi \u201co primeiro SCM que valeu a pena usar\u201d: ensinou o fluxo que o Git ainda copia. A licen\u00e7a gratuita para o kernel durou at\u00e9 2005. McVoy acusou Tridgell (Samba) de engenharia reversa. A isen\u00e7\u00e3o caiu. Voltar a tarball ningu\u00e9m queria.<\/p>\n<p>Os crit\u00e9rios que Linus anotou eliminaram tudo que existia: velocidade, design simples, milhares de branches em paralelo, distribu\u00eddo de verdade, e aguentar o volume do kernel sem corromper o hist\u00f3rico. Ele j\u00e1 vinha pensando nisso desde o fim de 2004. O c\u00f3digo saiu r\u00e1pido porque o desenho j\u00e1 estava na cabe\u00e7a.<\/p>\n<h2>Abril de 2005: dez dias e o primeiro commit<\/h2>\n<p>3 de abril: come\u00e7a a escrever. 6 de abril: anuncia. 7 de abril: o Git passa a hospedar a si mesmo \u2014 o commit inicial tem 1.244 linhas e a descri\u00e7\u00e3o \u201cthe information manager from hell\u201d. 16 de abril: primeiro commit do kernel no Git. 18 de abril: primeiro merge de branches. 29 de abril: 6,7 patches por segundo no tree do kernel. 16 de junho: o Git gerencia o release 2.6.12.<\/p>\n<p>O nome \u00e9 piada brit\u00e2nica (<em>git<\/em> = tipo insuport\u00e1vel) e, no pr\u00f3prio commit, um backronym: <em>global information tracker<\/em>. SHA-1 n\u00e3o era \u201cseguran\u00e7a criptogr\u00e1fica\u201d; era detector de corrup\u00e7\u00e3o. Em 2026 o SHA-256 j\u00e1 \u00e9 op\u00e7\u00e3o; o default ainda \u00e9 SHA-1. Linus segue dizendo que a troca nunca foi o ponto.<\/p>\n<p>Em maio de 2007 ele foi ao Google explicar o bicho. A palestra continua o melhor \u201cpor que n\u00e3o \u00e9 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 julho de 2005<\/h2>\n<p>Linus nunca quis manter o Git. \u201cO momento em que aparecer algu\u00e9m em quem eu confio, eu volto pro kernel.\u201d Junio Hamano (gitster) pegou o bast\u00e3o em 26 de julho de 2005 e n\u00e3o largou. A 1.0 saiu em 21 de dezembro do mesmo ano. Linus usa, at\u00e9 hoje, um punhado 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>. O resto \u00e9 o projeto do Junio e de centenas de contribuidores.<\/p>\n<p>Entre 2007 e 2010 a queixa (\u201cpor que os nomes s\u00e3o diferentes do CVS?\u201d) virou o contr\u00e1rio: uma gera\u00e7\u00e3o que nunca tinha usado SCM e para quem Git era o default. GitHub abre em 2008; GitLab, Bitbucket, Gitea, Forgejo. O pull request n\u00e3o est\u00e1 no Git \u2014 est\u00e1 na camada social em cima. Sem o objeto endere\u00e7ado por hash, essa camada n\u00e3o existiria.<\/p>\n<h2>O que o Git \u00e9, em uma frase<\/h2>\n<p>N\u00e3o \u00e9 um delta de arquivo. \u00c9 um banco de snapshots: blob, tree, commit, tag \u2014 cada um um objeto, cada um um hash. Branch \u00e9 um ponteiro. Merge \u00e9 um commit com dois pais. Voc\u00ea clona o reposit\u00f3rio inteiro, n\u00e3o um checkout. Por isso o kernel, o Android, o Chromium e o seu README cabem no mesmo modelo. A hist\u00f3ria do Unix\/Linux neste blog est\u00e1 em <a href=\"\/en\/2026\/09\/linux-35-anos\/\">Linux faz 35 anos<\/a>; o cheatsheet em portugu\u00eas, em <a href=\"\/en\/2017\/04\/git-simples-e-rapido\/\">Git simples e r\u00e1pido<\/a>.<\/p>\n<h2>2026: Git 2.55, Rust e o rumo da 3.0<\/h2>\n<p>Em 29 de junho de 2026 o Junio anunciou o Git 2.55: Rust ligado por default na compila\u00e7\u00e3o (ainda d\u00e1 para sair com <code data-no-translation=\"\">NO_RUST<\/code>; na 3.0 pode virar obrigat\u00f3rio), o subcomando experimental <code data-no-translation=\"\">git history<\/code> (reword, split, fixup sem bagun\u00e7ar o working tree), fsmonitor nativo no Linux, push para grupo de remotes. SHA-1 e SHA-256 come\u00e7am a interoperar. O Git 3, discutido no FOSDEM por Patrick Steinhardt, \u00e9 o pr\u00f3ximo corte \u2014 n\u00e3o um Git novo, o mesmo disco, menos C inseguro.<\/p>\n<p>A onda de agentes de IA est\u00e1 estressando o GitHub; o protocolo Git, em si, continua o mesmo de 2005. Linus, no kernel 7.x, ainda faz merge window com Git e e-mail. O hobby que \u201cn\u00e3o ia ser grande\u201d ganhou um irm\u00e3o que, desta vez, ele admitiu ter escrito porque precisava.<\/p>\n<h2>O que ficou<\/h2>\n<p>Dois artefatos do mesmo finland\u00eas: o kernel e o Git. O primeiro ele nunca largou. O segundo ele largou em quatro meses e o mundo inteiro adotou. Junio Hamano completa 21 anos de maintainer em 2026. O losango laranja na capa \u00e9 o mesmo de 2005. O fluxo \u2014 clone, branch, merge, hash \u2014 tamb\u00e9m.<\/p>\n<p>Para os comandos do dia a dia: <a href=\"\/en\/2017\/04\/git-simples-e-rapido\/\">Git simples e r\u00e1pido<\/a>. Para o autor: <a href=\"\/en\/2026\/09\/a-historia-de-linus-torvalds\/\">a hist\u00f3ria 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=\"A hist\u00f3ria do Git: dez dias que mudaram o c\u00f3digo\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/en\/2026\/09\/a-historia-do-git\/\" aria-label=\"Read more about A hist\u00f3ria do Git: dez dias que mudaram o c\u00f3digo\">Read more<\/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\/en\/wp-json\/wp\/v2\/posts\/498","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/comments?post=498"}],"version-history":[{"count":3,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/498\/revisions"}],"predecessor-version":[{"id":1159,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/posts\/498\/revisions\/1159"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/media?parent=498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/categories?post=498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/en\/wp-json\/wp\/v2\/tags?post=498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}