Git
![]() ![]() | |||||||||||||
Tipus | sistema de control de revisió distribuït, eina de ciència oberta, eina de programació i filestore (en) ![]() ![]() | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Versió inicial | 7 abril 2005 ![]() | ||||||||||||
Versió estable | 2.35.1 [1] / 29 gener 2022; fa 2 anys (2022-01-29) | ||||||||||||
Llicència | GNU GPL v2 | ||||||||||||
Disponible en | |||||||||||||
Característiques tècniques | |||||||||||||
Sistema operatiu | multiplataforma, GNU/Linux, BSD, Mac OS, Microsoft Windows i Unix-like ![]() | ||||||||||||
Escrit en | C, Perl, Tcl, Python i C++ ![]() | ||||||||||||
Format de fitxer de lectura | git packfile (en) ![]() ![]() ![]() ![]() | ||||||||||||
Format de fitxer d'escriptura | git packfile (en) ![]() ![]() ![]() ![]() | ||||||||||||
Equip | |||||||||||||
Creador/s | Linus Torvalds ![]() | ||||||||||||
Desenvolupador(s) | Software Freedom Conservancy ![]() | ||||||||||||
Dissenyador | Linus Torvalds ![]() | ||||||||||||
Fonts de codi
| |||||||||||||
Més informació | |||||||||||||
Lloc web | git-scm.com (anglès) ![]() | ||||||||||||
Blog | Blog oficial ![]() | ||||||||||||
Stack Exchange | Etiqueta ![]() | ||||||||||||
Free Software Directory | git ![]() | ||||||||||||
Id. Subreddit | git ![]() | ||||||||||||
| |||||||||||||
![]() |
Git és un programari de sistema de control de versions dissenyat per Linus Torvalds, pensat en l'eficiència i confiabilitat de manteniment de versions d'aplicacions amb una enorme quantitat de fitxers de codi font.
El disseny de Git es va basar en BitKeeper i en Monotone. En un principi, Git es va pensar com un motor de baix nivell que altres puguin emprar per escriure front end com Cogito o StGIT. Emperò, Git s'ha convertit des d'ençà en un sistema de control de versions amb funcionalitat plena. N'hi ha de molta rellevància que ja empren Git, en particular el grup de programació del nucli del sistema operatiu Linux.
Característiques
El disseny de Git resulta de l'experiència del dissenyador de Linux, Linus Torvalds, mantenint una enorme quantitat de codi distribuïda i gestionada per molta gent, que incideix en nombrosos detalls de rendiment, i de la necessitat de rapidesa en una primera implantació.
Entre les característiques més rellevants (no necessàriament positives) es troben:
- Forta incidència en la no-linealitat dels canvis, per a la rapidesa en la gestió de ramificacions i mesclat de diferents versions.
- Gestió distribuïda. Els canvis s'importen com a ramificacions, i poden ser mesclades en la manera en què ho fa una ramificació de l'emmagatzemament en local.
- Els magatzems d'informació poden publicar-se per HTTP, FTP, SSH, rsync o mitjançant un protocol natiu, a part de ser possible emular CVS.
Gestió eficient de projectes grans, donada la rapidesa de gestió de diferències entre arxius, entre altres millores d'optimització de velocitat d'execució.
- Totes les versions prèvies a un canvi determinat, impliquen la notificació d'un canvi posterior en qualsevol d'elles a aquest canvi (denominat autenticació criptogràfica d'historial). Això existia a Monotone.
- Resulta una mica més car fer feina amb fitxers concrets enfront de projectes, el qual difereix de CVS, que fa feina basant-se en canvis de fitxer, però millora el treball amb afectacions de codi que concorren en operacions similars en diversos arxius.
- Els reanomenats es treballen basant-se en similituds entre fitxers, a part de noms de fitxers, però no es fan marques explícites de canvis de nom basant-se en suposats noms únics de nodes de sistema de fitxers, el qual evita possibles, i possiblement desastroses, coincidències de fitxers diferents en un únic nom.
- Re-emmagatzemament periòdic en paquets (fitxers). Això és relativament eficient per l'escriptura de canvis i relativament ineficient per lectura si el re-empaquetat (basant-se en diferències) no té lloc amb regularitat.
El nom
Sembla que Torvals va voler fer una broma amb el nom Git (que en anglès britànic significa "persona desagradable"): "Sóc un bastard egoista, i anomeno tots els meus projectes amb el meu nom. Primer 'Linux', ara 'Git'".[2]
A la pàgina man descriu Git com a "L'estúpid rastrejador de contingut" ("Git - The stupid content tracker", en anglès).[3]
Al fitxer Read-me del codi font s'explica més:[4]
"git" pot significar qualsevol cosa, depenent del teu estat d'ànim.
- Una combinació aleatòria de tres lletres que es pot pronunciar, i que en realitat no l'utilitza cap comanda UNIX comuna. El fet que sigui una pronunciació errònia d'"aconseguir" ("get", en anglès) pot ser o no rellevant.
- Estúpid. Abjecte i menyspreable. Simple. Trieu el vostre diccionari d'argot.
- "Rastreig d'informació global" ("Global Information Tracker", en anglès): estàs de bon humor i realment funciona per a tu. Els àngels canten, i de sobte una llum omple l'habitació.
- "Maleït idiota camió carregat de m*rda" ("Goddamn idiotic truckload of sh*t", en anglès): quan es trenca.
El codi font de Git fa referència al programa com "el gestor d'informació de l'infern" ("the information manager from hell", en anglès).
Referències
- ↑ «Git 2.35.1 Release Notes» (en anglès). [Consulta: 16 març 2022].
- ↑ «GitFaq: Why the 'Git' name?». Git.or.cz. Arxivat de l'original el 23 July 2012. [Consulta: 20 juliol 2022].
- ↑ «Git» (en anglès). Git. [Consulta: 20 juliol 2022].
- ↑ «Git/README» (en anglès). Git, 08-04-2005. [Consulta: 20 juliol 2022].
- Loeliger, Jon; McCullough, Matthew. Version Control with Git (en anglès). 2a edició. Farnham: O'Reilly, agost 2012. ISBN 978-1-4493-1638-9 [Consulta: 21 novembre 2013].
Enllaços externs
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)
- Git - Fast Version Control System (anglès) Pàgina oficial del git
Tutorials
- git mini-howto - GabaWiki Arxivat 2009-07-15 a Wayback Machine. És força complet; explica sobretot el caràcter distribuït del Git.
- Manual:Git - ComEsFa[Enllaç no actiu] Un manual força complet.
- Tutorial de git - Viquillibres Un tutorial sobre com fer anar el Git.