Git is 'n verspreide beheerstelsel wat hoofsaaklik gebruik word om rekenaarsagteware te ontwerp en komplekse webtoepassings te ontwikkel.
In teenstelling met ander bronkode-bestuurstelsels, wat staatmaak op 'n kliënt-bediener-benadering tot weergawebeheer, is Git gebaseer op 'n eweknie-werkmodel. Dit stel sagteware-ontwikkelaars in staat om aan projekte te werk wat onafhanklik van 'n gesentraliseerde of gemeenskaplike netwerk is.
Die werkstasie van elke kodeerder bevat 'n volledige kopie van die werkgids en bewaarplek, insluitend al hul individuele en deurlopende wysigings en hersienings. As die kode van een programmeerder afgehandel is, kan 'n kopie dan onder eweknieë of met 'n sentrale bediener gedeel word.
Git het een van die gewildste beheerde stelsels vir oopbronweergawes onder sagteware-ontwikkelaars geword, en dit is in 'n klein mate te danke aan die snelheid, betroubaarheid en aangebore data-integriteit.
2.1 Verspreide weergawe beheer
2.2 Verbeterde prestasie-funksies
4 Aan die gang kom
6.1 Stel gereedskap op
6.2 Die skep van bewaarplekke
6.3 Plaaslike veranderinge
6.4 Takke en etikette
6.5 Opdaterings en uitgewery
6.6 Saamvoeg en herinvoer
7.1 Sou die internet die einde van die wêreld oorleef?
Git is geskep deur Linus Torvalds, skepper en hoofontwikkelaar van die Linux-kern.
Die werk aan die projek is in 2005 begin, toe Torvalds en sy ontwikkelingspan gedwing is om 'n alternatief te vind vir BitKeeper, die eie bronbestuurstelsel wat hulle gebruik het om die Linux-kern te ontwikkel en te verfyn..
Die outeursreg van BitKeeper se kopiereghouer het die gratis gebruik van die produk teruggetrek, sodat Torvalds gedwing is om 'n weergawe-beheerstelsel te vind om die leemte te vul. Ongelukkig het geeneen van die open source verspreide stelsels wat hy gevind het, die taak opgelewer nie, en dit het die snelheid en die werkverrigting benadeel.
Torvalds het niks gevind om aan sy behoeftes te voldoen nie, maar het besluit om 'n eie verspreide beheerstelsel te ontwikkel. Sy doelwitte was eenvoudig:
Gebruik die huidige toestand van gelyktydige weergawe stelsels as 'n voorbeeld van wat u nie moet doen nie;
Fokus op 'n verspreide werkstroom;
Maak seker dat die pleister nie meer as 3 sekondes duur nie;
Sluit beskermingsmaatreëls in teen toevallige of kwaadwillige korrupsie.
Torvalds het Git in April 2005 begin ontwikkel. Die aanvanklike prestasiedoelwitte van die projek is spoedig bereik en die eerste iterasie van die stelsel is voor die einde van die jaar van stapel gestuur.
In 2006 het Torvalds die instandhouding van Git oorgedra aan Junio ​​Hermano, een van die belangrikste bydraers tot die projek. Hermano het voortgegaan om Git te ontwikkel, met toesig oor die daaropvolgende weergawes van die stelsel, waaronder die nuutste weergawe van Git 2.9 in 2016.
Om die unieke eienskappe van Git beter te verstaan, is dit belangrik om te onderskei tussen die twee algemeenste soorte bronkode-bestuurstelsels.
Gelyktydige weergawe stelsels (CVS) maak staat op 'n enkele gesentraliseerde bediener om die volledige weergawe-geskiedenis van 'n gegewe sagteware te huisves. Met hierdie model moet programmeerders en ontwikkelaars toegang tot die gemeenskaplike bediener hê om die kode van die sagteware te hersien en te werk.
Dit maak dit dikwels moeilik vir programmeerders om vinnig en doeltreffend te werk, veral as hulle as 'n span werk.
Vertrou op 'n gesentraliseerde bediener vir 'n databasis of bewaarplek, beteken dit ook dat alle werk aan 'n projek afhanklik is van die beskikbaarheid van die bediener, en dit kan die werk van coders belemmer as hulle of die bediener self vanlyn is..
Verspreide weergawe beheer
Git is egter verspreide weergawebeheerstelsel (DVCS), en is as sodanig nie afhanklik van 'n gesentraliseerde bediener om die volledige weergawe van enige gegewe projek te huisves nie..
Git gebruik 'n verspreide argitektuur, wat beteken dat elke ontwikkelaar se werkkopie van 'n voortgaande projek ook 'n bewaarplek bevat met 'n volledige weergawe van die sagteware wat ontwikkel word..
Dit stel programmeerders in staat om in veiliger en meer buigsame koderingsomgewings te werk, sonder om aan die gemeenskaplike bediener gekoppel te bly.
Verbeterde prestasie-funksies is nog 'n rede waarom Git 'n gewilde alternatief vir ander bronkode-bestuurstelsels geword het.
Git vergemaklik tak- en samesmeltingsfunksies, wat ontwikkelaars makliker maak om veranderinge aan te voer en vorige weergawes van die projek se bronkode te hersien en te vergelyk.
Aangesien al hierdie aksies op die eie werkstasie van die ontwikkelaar gedoen word, is die proses vinniger en betroubaarder as ander stelsels.
Git se hoëprestasie-funksies, gekombineer met die verspreide argitektuur daarvan, vergemaklik ook samewerking tussen ontwikkelaars, waardeur hulle meer suksesvol vanaf eksterne werkstasies kan werk.
Uiteindelik is die inherente veiligheid daarvan 'n sleutelkenmerk van Git. Alle data en lêers in die Git-bewaarplek word beskerm deur die SHA1-hashing-algoritme. Dit beskerm die kode teen kwaadwillige en toevallige veranderinge.
Die potensiaal vir dataverlies met Git word ook aansienlik verminder in vergelyking met ander bronbestuurstelsels, omdat die volledige weergawe van enige gegewe projek op elke werknemer se werkstasie gestoor word..
Git is 'n open source DVCS, en dit kan direk vanaf die Git-webwerf afgelaai word. Git is versoenbaar met Windows, Linux, Mac OSX en BSD-bedryfstelsels.
Git is 'n kragtige bestuurstelsel vir bronkodering en is 'n sleutelkomponent vir baie deurlopende kommersiële en open source sagtewareprojekte.
Diegene wat Git nog nooit gebruik het nie, kan die stelsel dikwels aanvanklik verwarrend vind, maar die leerkurwe is nie so steil soos wat dit kan voorkom nie, en daar is 'n paar baie goeie tutoriale aanlyn (beide teks en video) wat voldoende instruksies vir beginners bied.
Git-tutoriaal: 'n uitgebreide gids: hierdie Udemy-tutoriaal bied 'n volledige oorsig van Git, insluitend die ontwikkelingsgeskiedenis daarvan. Lesers word bekendgestel aan die basiese funksies van die stelsel, met gedeeltes wat opgedra is vir die opstel van 'n bewaarplek, ongedaan maak van aksies, vertakking en samesmelting, en integrasie via Github.
Git-tutoriaal vir beginners: basisbeginsels van die opdraglyn: hierdie video-tutoriaal is gerig op die eerste keer van Git-gebruikers, en diegene met ten minste 'n vinnige begrip van DVCS-stelsels. Die aanbieding bied 'n eenvoudige oorsig van die stelsel, met die fokus op die basis van die opdragreël.
Learn Git: 'n Git-tutoriaal: aangebied deur Tutorials Point, hierdie uitgebreide inleiding en gids tot Git dek al die grondbeginsels van die weergawe-beheerstelsel. Hierdie handleiding bevat 'n groot aantal visuele hulpmiddels om Git in aksie te help demonstreer. Spesifieke afdelings wat aangespreek word, is operasieskepping, die uitvoering en uitvoering van veranderinge, die opdatering van bedrywighede, patches en bestuur van takke.
Git-tutoriaal vir beginners: 'n vinnige begingids: aangebied deur Timothy Corey, hierdie video-tutoriaal is 'n baie effektiewe inleiding tot Git vir beginners. Die gebruik van voorbeelde uit die werklike wêreld maak hierdie tutoriaal baie maklik om te volg en te verstaan.
Git is 'n uiters veelsydige beheerstelsel vir weergawes, en om die volle potensiële gebruikers te besef, is daar 'n uitgebreide begrip van die stelsel en sy vermoëns. Aanlyn-tutoriale bied 'n basiese inleiding tot Git, maar die meeste is beperk in hul omvang.
Vir 'n meer diepgaande blik op Git en die gebruike daarvan, sal ontwikkelaars en programmeerders sommige van die volgende boeke wil verken.
Pro Git (2009) deur Chacon en Straub: aanbeveel deur die Git-ontwikkelingspan, Chacon en Straub se Pro Git bied 'n oorsig van verspreide weergawe van die weergawe en die ontwikkeling van Git en GitHub. Die skrywers verduidelik die basis van Git en die vele funksies daarvan, vanuit die standpunt van sowel programmeerders as projekleiers. Beskikbaar in gedrukte sowel as digitale uitgawes.
Weergawe-beheer met Git: Kragtige gereedskap en tegnieke vir samewerkende sagteware-ontwikkeling (2012) deur Loeliger en McCullough: hierdie praktiese handleiding vir Git neem lesers van aanvanklike konsepte tot gevorderde tegnieke met behulp van stap-vir-stap voorbeelde. Onderwerpe sluit in dop, vertakking, samesmelting en bestuur van kodeverslae, met die klem op samewerkingsagteware
Git in Practice (2014) van Mark McQuaid: die beste geskik vir diegene wat reeds vertroud is met Git se kernbeginsels, kyk McQuaid se boek na gevorderde tegnieke om spanontwikkelingsprojekte te optimaliseer en te verbeter. Git in die praktyk dek meer as 60 gevorderde gebruike vir Git, insluitend geskiedenisvisualisering, gevorderde vertakking, herskryfgeskiedenis en rampherstel.
Git het een van die mees gebruikte weergawe-beheerstelsels in die industrie geword, in 'n geringe mate weens die spoed, verbeterde werkvermoëns en algehele veelsydigheid..
As 'n oopbronstelsel gaan Git voort om verdere ontwikkeling en hersienings te ondergaan, wat ontwikkel om aan die immer veranderende behoeftes van professionele en amateur sagteware-ontwikkelaars te voorsien..
Die hulpbronne wat hier bespreek word, behoort 'n nuttige inleiding te gee tot Git, die toepassing daarvan op samewerkende ontwikkelingsprojekte en die status daarvan in die hiërargie van weergawe-beheerstelsels.
Git is 'n open source verspreide beheerstelsel vir gebruik in sagteware-ontwerp en die ontwikkeling van webtoepassings. Die volgende cheat sheet bevat 'n voorbeeld van die Git-instruksies wat die meeste gebruik word.
Stel gereedskap op
$ git config –global user.name "[naam]" – ken 'n naam toe aan u verbintenistransaksies
$ git config –global user.email "[e-posadres]" – ken 'n e-pos aan u verbintenistransaksies toe
$ git config –global color.ui outomaties – maak kleuring van die opdragreëluitset moontlik
Die skep van bewaarplekke
$ git init [projeknaam] – skep 'n nuwe plaaslike bewaarplek met 'n spesifieke naam
$ git kloon [url] – kloon 'n huidige bewaarplek met die volledige weergawe-geskiedenis
$ git-status – lys 'n lys van alle nuwe of gewysigde lêers wat toegewyd is
$ git verskil – toon lêerverwysings wat nie opgestel is nie
$ git voeg [file] by – momentopname van die lêer voor weergawe
$ git verskil – verhoog – toon lêerverskille tussen opstelling en laaste lêerweergawe
$ git reset [lêer] – verwyder die lêer terwyl die inhoud daarvan bewaar word
$ git commit – pleeg veranderinge wat voorheen opgevoer is
$ git commit -a – pleeg alle plaaslike veranderinge in getikte lêers
$ git commit -m "[beskrywende boodskap]" – teken lêerfoto's permanent in die weergawe van die geskiedenis op
$ git log – toon geskiedenis van begaan
$ git log -p [lêernaam] – toon die geskiedenis van veranderinge aan 'n spesifieke lêer
$ git blame [file] – toon aan watter gebruiker die inhoud van die lêer verander het en wanneer
Takke en etikette
$ git tak -av – lys alle bestaande takke
$ git checkout [tak] – skakel HOOF-tak
$ git checkout [new-branch] – skep 'n nuwe tak gebaseer op die huidige HOOF
$ git checkout – spoor [afstandsbediening / tak] – skep 'n nuwe opsporingstak gebaseer op 'n afgeleë tak
$ git tak -d [tak] – vee 'n plaaslike tak uit
$ git-tag [tag-name] – merk die huidige begaan met 'n merker
$ kat. git / HEAD – wys waarna die HOOF, of die huidige tak, wys
Opdaterings en uitgewery
$ git afgeleë -v – lys al die huidige gekonfigureerde bewaarplekke
$ git show remote [remote] – toon detailinligting van 'n spesifieke afgeleë bewaarplek
$ git remote voeg [kortnaam] [url] – voeg 'n nuwe afgeleë bewaarplek by
$ git haal [afstand] – Laai alle veranderinge van 'n spesifieke afstandsbediener af sonder om by HEAD te integreer
$ git pull [afstand] [tak] – Laai veranderinge van 'n spesifieke afstandbeheer af af en integreer / saamsmelt in HEAD
$ git push [afstand] [tak] – Plaaslike veranderinge aan 'n afstandbewaarplek te publiseer
$ git tak -dr [remote / tak] – vee 'n tak op die plaaslike afgeleë bewaarplek uit
$ git push –tags – publiseer tags op die bewaarplek
Saamvoeg en herinvoer
$ git merge [tak] – voeg die spesifieke tak in die huidige hoof saam
$ git rebase [tak] – herlaai huidige HEAD op tak
$ git rebase – kort – staak vorige herfinansiering
$ git rebase – voortgaan – gaan voort met rebase nadat u konflik opgelos het
$ git voeg [opgeloste lêer] – konflikte met die hand wysig en oplos en die lêer as 'opgelos' merk
$ git mergetool – gebruik samevoegingsinstrument om konflik outomaties op te los
$ git reset –hard HEAD – gooi alle plaaslike veranderinge in die werkgids weg
$ git checkout HEAD [lêernaam] – gooi alle plaaslike veranderinge aan 'n spesifieke lêer weg
$ git revert [commit] – stel 'n verbintenis terug deur 'n hersiene of bygewerkte verbintenis op te stel
$ git reset –hard [commit] – stel die HEAD-wyser terug op 'n vorige poging en gooi alle daaropvolgende wysigings weg
$ git reset [commit] – stel die HEAD-wyser terug op 'n vorige poging en bewaar alle daaropvolgende veranderinge as onopgevoerde gebeure
Reset van $ git – hou [commit] – stel die HEAD-wyser terug op 'n vorige poging en bewaar onveranderde veranderinge
Hierdie kort verwysingsgids gee 'n oorsig van die algemeenste instruksies vir die opdragreëls wat met die Git-weergawe-beheerstelsel gebruik word. Dit moet nie as uitputtend gesien word nie, maar dit moet nuttig wees vir basiese programmering en kodering.
Weergawe beheer en hosting: nie net oor hosting nie, maar ook 'n vergelyking van weergawe beheerstelsels.
Het u al ooit gewonder wat 'n groot ramp op die internet sal doen? Kyk na ons infographic, Sou die internet die einde van die wêreld oorleef?