Git

Git Tiedot
Kehittäjä Ohjelmistovapauden suojaus ( in )
Ensimmäinen versio 7. huhtikuuta 2005
Viimeinen versio 2.32,0 (6. kesäkuuta 2021)
Tallettaa git.kernel.org/pub/scm/git/git.git
Laatuvakuutus Jatkuva integraatio ja jatkuva integraatio
Kirjoitettu C , Shell Unix , Perl , Tcl , Python ja C ++
Käyttöjärjestelmä Monialustainen
Lue muodot Git packfile ( d ) , git packfile index, versio 1 ( d ) ja git packfile index, versio 2 ( d )
Kirjalliset muodot Git packfile ( d ) , git packfile index, versio 1 ( d ) ja git packfile index, versio 2 ( d )
Kieli (kielet Englanti
Tyyppi Hajautettu lähteen hallinta ( tuumaa )
Lisenssi GNU General Public License -versio 2
Verkkosivusto git-scm.com

Git on hajautettu versionhallintaohjelmisto . Se on ilmainen ohjelmisto luoma Linus Torvalds , kirjoittaja Linux-ytimen ja jaellaan ehtojen mukaisesti GNU General Public License version 2. Nykyinen päärahoittajana Gitin ja yli 16 vuoden aikana on Junio C Hamano. Vuodesta 2016 lähtien se on suosituin versionhallintaohjelmisto , jota käyttää yli kaksitoista miljoonaa ihmistä.

Tekniset erityispiirteet

Samanlainen kuin tässä BitKeeper , Git ei luota keskitettyyn palvelimeen , mutta käyttää vertaisyhteysjärjestelmää . Kehitetty tietokonekoodi ei ole vain tallennettu jokaisen projektin avustajan tietokoneelle, mutta se voidaan tallentaa myös erilliselle palvelimelle. Se on matalan tason työkalu , jonka tavoitteena on olla yksinkertainen ja tehokas ja jonka päätehtävänä on hallita puurakenteen sisällön kehitystä .

Git indeksoi tiedostot niiden tarkistussumman perusteella, joka on laskettu SHA-1- hajautusfunktiolla . Kun tiedostoa ei ole muokattu, tarkistussumma ei muutu ja tiedosto tallennetaan vain kerran. Jos tiedostoa kuitenkin muokataan, molemmat versiot tallennetaan levylle.

Toisin version ohjaus ohjelmisto arkkitehtuurit yleisesti käytetty tähän asti, Git perustuu täysin pieni määrä perustietoja rakenteita. Linus Torvalds selitti: "Voit ajatella Gitiä monin tavoin vain tiedostojärjestelmänä . Se on sisältöosoitettu, ja sillä on käsite versiosta, mutta suunnittelin sen todella tiedostojärjestelmäspetsialistin näkökulmasta (loppujen lopuksi olen tottunut työskentelemään ytimissä), enkä halunnut luoda perinteistä versionhallintajärjestelmää. Gitin varhaiset versiot tarjosivat alkeellisen käyttöliittymän näiden sisäisten objektien manipuloimiseksi, ennen kuin yhteinen versiotoiminto lisättiin vähitellen.

Gitia pidetään hyvänä siinä määrin, että jotkut muut versionhallintaohjelmistot ( Darcs , Arch ), jotka eivät käytä tietokantaa , ovat osoittaneet kiinnostusta Gitin tiedostotallennusjärjestelmään omaan toimintaansa. Ne tarjoavat kuitenkin edelleen edistyneempiä ominaisuuksia.

Alusta alkaen Git suunniteltiin toimimaan hajautetusti, mikä on myös yksi sen menestyksen avaimista . Gitin hajauttaminen on tuonut paljon myös ilmaisten ohjelmistojen kehittämiseen, koska tarve pyytää tiliä keskitetystä SVN- tai CVS-arkistosta vanhentuu. Sinun tarvitsee vain haarautua projektiin tai kloonata se aloittaaksesi sen valmistelemisen (koko projektin historian kanssa paikallisesti) ja sitten ehdottaaksesi sen osuutta ( vetopyyntö ) päätietovarastolle (projektin pää ylläpitäjä).

Git-palvelimet käyttävät oletusarvoisesti porttia 9418 Git-spesifiseen protokollaan . Protokollia HTTP , HTTPS ja SSH (ja niiden vakioportteja ) voidaan myös käyttää.

Toiminta

Gitillä on kaksi tietorakennetta  : objektikanta ja hakemistovälimuisti . Kohteita on neljää tyyppiä:

Kohdetietokanta voi sisältää minkä tahansa tyyppisen objektin. Välikerros, joka käyttää hakemistoja (tarkistussummia), luo yhteyden tietokannan kohteiden ja tiedostojen puurakenteen välille.

Jokainen objekti tunnistetaan SHA-1: n tarkistussummalla sen sisällöstä. Git laskee tarkistussumman ja käyttää tätä arvoa objektin tiedostonimen määrittämiseen. Objekti sijoitetaan hakemistoon, jonka nimi vastaa tarkistussumman kahta ensimmäistä merkkiä. Tarkastussumman loppuosa on sitten kyseisen objektin tiedostonimi.

Git tallentaa jokaisen version tiedostoon yhtenä blobina . Blobien väliset suhteet määritetään tutkimalla sitoutumisobjekteja . Tyypillisesti blobit tallennetaan kokonaisuudessaan käyttämällä zlib- pakkausta . Tämä periaate voi kuluttaa nopeasti suuren määrän levytilaa; siksi objektit voidaan yhdistää arkistoihin, jotka käyttävät eripuristusta (ts. blobit tallennetaan erotuksena muista blobeista ).

Joitakin tilauksia

Gitillä on erityisesti seuraavat komennot:

Liitännät

Web-käyttöliittymä on järjestetty vakiona GIT:

Kahden graafisen käyttöliittymän lisäksi:

Kolmannen osapuolen työpöydän käyttöliittymät

On myös muita sovelluksia, jotka tarjoavat työpöydän käyttöliittymän:

Itsepalvelevat web-väärennökset

Muut projektit tarjoavat verkkoliitäntöjä Gitille, joskus eri projektien, lippujen, wikien ...

Sivustojen ylläpito

On olemassa useita yleisiä isännöintisivustoja (kutsutaan myös väärennöksiksi ), samoin kuin sivustoja, jotka on omistettu tietylle kehitykselle ja jotka hyväksyvät käyttäjiin liittyviä projekteja, kuten Kernel.org ( Linux-ydin ) tai Gitlab-instanssit. Freedesktop.org , Gnome , KDE tai jopa Blender .

Kehitys

Git on kehitetty ja optimoitu erityisesti Linux- ytimelle . Linus Torvalds aloitti kirjoittamisen huhtikuussa 2005 korvaamalla BitKeeper- ohjelman . Itse asiassa Larry McVoy peruutti mahdollisuuden käyttää ohjelmistojaan ilmaiseksi, kun Andrew Tridgell yritti suunnitella käänteisesti BitKeeperin käyttämiä protokollia. Peruutuksen syyt ovat kuitenkin edelleen kiistanalaisia.

Ensimmäinen versio julkaistiin 7. huhtikuuta 2005. Siitä lähtien tämän työkalun kehittämistä on jatkettu. Sitä on parannettu asteittain, koska se on itse varustettu graafisilla rajapinnoilla, verkkoliitännöillä tai edistyneillä komentosarjoilla.

Kernelin huippukokous Heinäkuu 2005 oli tilaisuus Linus Torvaldsille ilmoittaa, että seuraavat Linux-ytimen versiot (versiosta 2.6.12) kehitettiin Gitin avulla.

Loppu Heinäkuu 2005, Linus Torvalds päätti antaa Gitin ylläpidon ja kehityksen Junio ​​Hamanolle, selittäen, että hän oli "aina sanonut, ettei halunnut ylläpitää sitä pitkällä aikavälillä".

Kehitys on erittäin aktiivista. Ensimmäinen vakaa versio (1.0) julkaistiin21. joulukuuta 2005tai alle vuoden kuluttua projektin alkamisesta.

Nimen alkuperä

Linus Torvalds lausuu [ɡɪt] kanssa kova ɡ .

PC World -lehti kertoo meille, että "kysyttäessä, miksi hän kutsui ohjelmistojaan" gitiksi ", mikä vastaa suunnilleen brittiläisen slangin" kusipää ", Linus Torvalds vastasi:" Olen vain saastainen egoisti, joten kutsun kaikki projektini jälkeen oma henkilö. Ensin Linux, sitten Git. " ".

Huomautuksia ja viitteitä

  1. Vs: Trivia: Milloin git itsensä isäntä?  » (Pääsy 5. marraskuuta 2019 )
  2. [ANNOUNCE] Git v2.32.0  " ( katsottu 6. kesäkuuta 2021 )
  3. (in) "  Gitin 2.8.2 Suosittu Source Code Management System julkaistiin yli 18 Virhekorjauksia  " on Softpedia ,2. toukokuuta 2016(katsottu 2. toukokuuta 2016 )
  4. (in) Linus Torvalds, "  'Re: lisää git-päivityksiä ..'  ' ,10. huhtikuuta 2005(näytetty 24 huhtikuu 2017 ) monin tavoin voit vain nähdä git tiedostojärjestelmään - sen sisältö-osoitteellinen, ja se on käsite versiointi, mutta olen todella todella suunnitellut sen tulossa ongelma näkökulmasta on tiedostojärjestelmän henkilön (hei, ytimet ovat mitä teen), ja minulla ei todellakaan ole mitään kiinnostusta luoda perinteistä SCM-järjestelmää.  "
  5. git-arkisto: käytät git-hakemiston välimuistikoodia darcsissa? .
  6. [Gnu-arch-users] [ILMOITUS] / Arch / käsittää `git ' .
  7. (sisään) Jon Loeliger, versionhallinta Gitillä , O'Reilly Media , Git-peruskäsitteet
  8. http://gdt.oqlf.gouv.qc.ca/ficheOqlf.aspx?Id_Fiche=8371027#eng .
  9. (sisään) "  Allura  "
  10. (en) James Sanders, "  Jos Microsoft ostaa GitHubia kiusaa , tässä ovat parhaat vaihtoehdot  " , TechRepublic ,4. kesäkuuta 2018
  11. AWS CodeCommit
  12. “  Gitea  ” , osoitteessa Gitea.io ( luettu 29. kesäkuuta 2020 ) .
  13. "  Kallithea  " , Scm.org-sivustossa ( luettu 29. kesäkuuta 2020 ) .
  14. (in) "  Tech Talk: Linus Torvalds on git  " päällä YouTubessa ,14. toukokuuta 2007(katsottu 2. joulukuuta 2016 )
  15. http://www.wordreference.com/enfr/git .
  16. Tai Merriam-Websterin mukaan epäjohdonmukainen tai arvoton henkilö. John Lennon käyttää sanaa kappaleessaan Olen niin väsynyt .
  17. (sisään) PC-maailma .

Liitteet

Aiheeseen liittyvät artikkelit

Ulkoiset linkit