Git

Git Informace
Vyvinul Zachování svobody softwaru ( in )
První verze 7. dubna 2005
Poslední verze 2.32.0 (6. června 2021)
Vklad git.kernel.org/pub/scm/git/git.git
Zajištění kvality Kontinuální integrace a kontinuální integrace
Napsáno C , Shell Unix , Perl , Tcl , Python a C ++
Operační systém Multiplatformní
Číst formáty Git packfile ( d ) , git packfile index, verze 1 ( d ) a git packfile index, verze 2 ( d )
Písemné formáty Git packfile ( d ) , git packfile index, verze 1 ( d ) a git packfile index, verze 2 ( d )
Jazyky Angličtina
Typ Decentralizované řízení zdroje ( v )
Licence GNU General Public License verze 2
webová stránka git-scm.com

Git je decentralizovaný software pro správu verzí . Jedná se o bezplatný software vytvořený Linusem Torvaldsem , autorem linuxového jádra , a distribuovaný podle podmínek GNU General Public License verze 2. Současným hlavním přispěvatelem git je již 16 let Junio ​​C Hamano. Od roku 2016 se jedná o nejpopulárnější software pro správu verzí, který používá více než dvanáct milionů lidí.

Technické zvláštnosti

Podobně jako BitKeeper se Git nespoléhá na centralizovaný server , ale používá systém připojení peer-to-peer . Vyvinutý počítačový kód není uložen pouze v počítači každého přispěvatele do projektu, ale může být uložen také na vyhrazeném serveru. Jedná se o nízkoúrovňový nástroj , jehož cílem je být jednoduchý a efektivní, jehož hlavním úkolem je řídit vývoj obsahu stromové struktury .

Git indexuje soubory na základě jejich kontrolního součtu vypočítaného s hashovací funkcí SHA-1 . Pokud soubor není změněn, kontrolní součet se nezmění a soubor se uloží pouze jednou. Pokud je však soubor změněn, obě verze jsou uloženy na disku.

Na rozdíl od dosud běžně používaných architektur softwaru pro správu verzí se Git spoléhá výhradně na malý počet základních datových struktur. Linus Torvalds vysvětlil: „V mnoha ohledech si můžete Git představit jako pouhý souborový systém . Je zaměřen na obsah a má pojem verzování, ale opravdu jsem to navrhl z pohledu specialisty na souborový systém (koneckonců jsem zvyklý pracovat na jádrech) a vůbec jsem netoužil po vytvoření tradičního systému pro správu verzí. Starší verze Gitu nabídly základní rozhraní pro manipulaci s těmito interními objekty, než byla poté postupně přidána a vylepšena běžná funkce správy verzí.

Git je považován za dobrý do té míry, že o software pro ukládání souborů Git projevil zájem nějaký jiný software pro správu verzí ( Darcs , Arch ), který nepoužívá databázi . Nadále však nabízejí pokročilejší funkce.

Git byl od začátku navržen s cílem fungovat decentralizovaně, což je také jeden z klíčů k jeho úspěchu . Decentralizace Gitu také hodně přinesla vývoj svobodného softwaru, protože potřeba požádat o účet v centralizovaném úložišti SVN nebo CVS je zastaralá. Musíte pouze rozvětvit projekt nebo jej naklonovat, abyste na něm mohli začít pracovat (s celou historií projektu místně) a poté navrhnout jeho příspěvek ( požadavek na vyžádání ) do hlavního úložiště (hlavní správce projektu).

Servery Git používají ve výchozím nastavení port 9418 pro protokol specifický pro Git. Lze také použít protokoly HTTP , HTTPS a SSH (a jejich standardní porty ).

Fungující

Git má dvě datové struktury  : objektovou základnu a mezipaměť adresářů . Existují čtyři typy objektů:

Databáze objektů může obsahovat jakýkoli typ objektu. Mezivrstva pomocí indexů (kontrolních součtů) vytváří spojení mezi objekty databáze a stromovou strukturou souborů.

Každý objekt je identifikován kontrolním součtem SHA-1 jeho obsahu. Git vypočítá kontrolní součet a pomocí této hodnoty určí název souboru objektu. Objekt je umístěn v adresáři, jehož název odpovídá prvním dvěma znakům kontrolního součtu. Zbývající část kontrolního součtu je pak název souboru pro daný objekt.

Git uloží každou revizi do souboru jako jeden blob . Vztahy mezi objekty BLOB jsou určeny zkoumáním objektů potvrzení . Objekt BLOB se obvykle ukládá jako celek pomocí komprese zlib . Tento princip může rychle spotřebovat velké množství místa na disku; proto lze objekty kombinovat do archivů, které používají diferenciální kompresi (tj. objekty BLOB se ukládají jako rozdíly od jiných objektů BLOB ).

Některé objednávky

Git má zejména následující příkazy:

Rozhraní

Webové rozhraní je standardně vybaven Git:

Stejně jako dvě grafická rozhraní:

Rozhraní desktopu třetích stran

Existují také další aplikace, které nabízejí desktopové rozhraní:

Vlastní hostování webových kováren

Jiné projekty poskytují webová rozhraní pro Git s někdy správou různých projektů, lístků, wiki ...:

Hostování webů

Existují různé obecné hostitelské weby (nazývané také kovárny ), stejně jako weby zaměřené na konkrétní vývoj, přijímající projekty související s uživateli, jako například instance cgit Kernel.org ( linuxové jádro ) nebo instance Gitlab. Z Freedesktop.org , Gnome , KDE nebo dokonce Blender .

Rozvoj

Git byl speciálně vyvinut a optimalizován pro linuxové jádro . Linus Torvalds začal psát v dubnu 2005 a nahradil proprietární program BitKeeper . Ve skutečnosti Larry McVoy zrušena možnost používat jeho software zdarma, poté, co Andrew Tridgell pokusila zpětné inženýrství protokoly používané BitKeeper. Důvody tohoto zrušení však zůstávají kontroverzní.

První verze byla vydána dne 7. dubna 2005. Od té doby vývoj tohoto nástroje pokračuje. Postupně byl vylepšován, protože sám byl vybaven grafickými rozhraními, webovými rozhraními nebo pokročilými skripty.

Summit jádra v Červenec 2005 byla příležitost pro Linuse Torvaldse oznámit, že následující verze jádra Linuxu (od verze 2.6.12) budou vyvinuty pomocí Gitu.

Konec Červenec 2005, Linus Torvalds se rozhodl svěřit údržbu a vývoj Gitu Junio ​​Hamanovi s vysvětlením, že „vždy říkal, že to opravdu nechce dlouhodobě udržovat“.

Vývoj je velmi aktivní. První stabilní verze (1.0) byla vydána dne21. prosince 2005, nebo méně než rok po zahájení projektu.

Původ jména

Linus Torvalds vyslovuje [ɡɪt] s tvrdým ɡ .

Časopis PC World nám říká, že „na otázku, proč nazval svůj software„ git “, což je zhruba ekvivalent„ kretén “v britském slangu, odpověděl Linus Torvalds„ Jsem jen špinavý egoista, takže všechny své projekty nazývám po moje vlastní osoba. Nejprve Linux, pak Git. “ ".

Poznámky a odkazy

  1. Re: Drobnosti: Kdy se git hostil sám?  » (Přístup 5. listopadu 2019 )
  2. „  [OZNAM] Git v2.32.0  “ (zpřístupněno 6. června 2021 )
  3. (in) „  Git 2.8.2 Populární systém správy zdrojového kódu vydán s více než 18 opravami chyb  “ na Softpedii ,2. května 2016(zpřístupněno 2. května 2016 )
  4. (in) Linus Torvalds, "  'Re: more git updates ..'  ' ,10. dubna 2005(zpřístupněno 24. dubna 2017 ) „  V mnoha ohledech můžete git jednoduše vidět jako souborový systém - je adresovatelný obsahu a má představu o verzování, ale opravdu jsem jej skutečně navrhl z hlediska osoby v souborovém systému. (hej, jádra jsou to, co dělám), a já vlastně mám absolutně nulový zájem na vytvoření tradičního systému SCM.  "
  5. Archivy git: používáte kód mezipaměti adresáře git v Darcsu? .
  6. [Gnu-arch-users] [OZNAM] / Arch / zahrnuje `git ' .
  7. (in) Jon Loeliger, Správa verzí pomocí Git , O'Reilly Media , Git Basic Concepts
  8. http://gdt.oqlf.gouv.qc.ca/ficheOqlf.aspx?Id_Fiche=8371027#eng .
  9. (in) „  Allura  “
  10. (en) James Sanders, „  Pokud vás Microsoft kupující GitHub vyděsí, zde jsou vaše nejlepší alternativy  “ , na TechRepublic ,4. června 2018
  11. AWS CodeCommit
  12. „  Gitea  “ , na Gitea.io (přístup 29. června 2020 ) .
  13. „  Kallithea  “ , na Scm.org (přístup 29. června 2020 ) .
  14. (in) „  Tech Talk: Linus Torvalds je git  “ na YouTube ,14. května 2007(zpřístupněno 2. prosince 2016 )
  15. http://www.wordreference.com/enfr/git .
  16. Nebo podle Merriam-Webstera nekonzistentní nebo bezcenná osoba. John Lennon používá toto slovo ve své písni Jsem tak unavený .
  17. (v) PC World .

Dodatky

Související články

externí odkazy