Erinevus pühendumise ja tõukamise vahel

Kui olete arendajate kogukonnas miljonite hulgas, siis on tõenäoline, et olete juba versioonikontrolli kontseptsioonist kuulnud. See on võimas tööriist või süsteem, mis aitab teil oma töö eest hoolitseda, võimaldades teil oma projektiga seotud failide, dokumentide ja muu teabekoguga kiiresti liikuda. Ja sellist tüüpi töö jaoks on turul arvukalt tööriistu, nii patenteeritud kui ka avatud lähtekoodiga. Git on tänapäeval maailmas üks populaarsemaid ja laialdasemalt kasutatavaid versioonikontrollisüsteeme ning uskumatu hulk projekte tugineb versioonikontrolli jaoks Gitile. Git on tasuta ja avatud lähtekoodiga hajutatud versioonikontrollisüsteem, mis on loodud tarkvara arendamise ajal lähtekoodi muutuste jälgimiseks.

Giti projekti esindab andmestruktuur, mida nimetatakse hoidlaks, kuhu salvestatakse kogu projektiga seotud teave, sealhulgas kogu projekti ajalugu alates selle loomisest. See jälgib kõiki failides aja jooksul tehtud muudatusi, ehitades projekti jätkamise ajal ajajoone. Hoidla koosneb omakorda projekti sisu individuaalsetest hetktõmmistest - failide ja hoidlate kogumist -, mida nimetatakse komisjonideks. Kui soovite oma projekti arengut maailmale jagada, peate selle tõstma kaugjuhtimispuldi juurde, millele teil on kirjutamisõigus. Teie kohalikke harusid ei sünkroonita automaatselt kaughoidlatega - peate otse jagama filiaale, mida soovite jagada.

Mis on kohustus??

Git peab oma andmeid pigem nagu hetktõmmiste komplekt, näiteks minifailisüsteem või projekti, mille nimi on commits, versioonid. Iga kord, kui pühendute projekti salvestamisele või salvestate selle mis tahes ajal, võtab Git põhimõtteliselt ülevaate sellest, kuidas teie failid praegu välja näevad, ja talletab viite sellele hetktõmmisele. Kohustusobjekt sisaldab metaandmeid iga hoidlasse tehtud muudatuse kohta, sealhulgas autor, toimepanija, sidumiskuupäev ja logisõnum. Iga kohustamine osutab puuobjektile, mis kajastab hoidla olekut sel hetkel, kui kohustus tehti, kõik ühes tervikpildis. Selle muutmise ajal koodis muudatusi tehes saate käputäie kohustusi - iga tehtud muudatuse jaoks eraldi kohustuse. Git määrab igale isikule kordumatu ID, mis jälgib, mis, millal ja kes teie tehtud muudatustest tegi.

Mis on Push?

Igal arendajal on oma muudatuste jälgimiseks oma privaatne hoidla. Teete muudatused kohapeal ja kui olete valmis neid teiste arendajatega jagama, lükate need tagasi kõigi teie jagatud hoidlasse. Kohustus salvestab tehtud muudatused ainult kohalikku hoidlasse, kuid mitte kaughoidlasse. Teie kohustusi ei sünkroonita automaatselt kaughoidlaga - peate selgesõnaliselt suruma neid kohustusi, mida soovite jagada. Push-käsu kasutamisel rakendate muudatused ülesvoolu hoidlasse. Igal avatud lähtekoodiga projektil on oma viis muudatustega nõustuda. Mõni projekt kasutab täielikult hajutatud versioonikontrollisüsteemi, kus põhirepositooriumi muudatusi saab sisestada ainult üks inimene, samas kui on olemas jagatud hoidla mudel, kus kõik arendajad saavad ühiskasutusse antud hoidlasse suunata.

Erinevus Committi ja pushi vahel

Põhitõed

- Tõukamine tuleb pärast pühendumist. Git toimetamiskirjete salvestamine ja hoidlas tehtud muudatuste jälgimine viitab igale pühendumisele puuobjektile, mis kajastab hoidla olekut sel hetkel, kui kohustus tehti, kõik ühes tervikpildis. Kuid kohustub salvestama muudatused ainult lokaalses hoidlas, kuid mitte kaughoidlas. Git push värskendab pühendunud muudatusi ja võimaldab teil saata need kaughoidlasse, kus kõik arendajad saavad neile juurde pääseda. Kui kasutate tõukekäsku, värskendab see lihtsalt muudatusi ülesvoolu hoidlasse.

Käsk

- Git-kommitseerumised on kohalikud tähendused, need registreeritakse ainult masinal, millel kompromissid tegelikult aset leiavad. Käsku „git sitoutuma“ kasutatakse Gitil käskmaks muudatused kohalikku hoidlasse salvestada ja enne käskluse „giti pühenduma“ kasutamist peate konkreetselt rääkima Gitile, millised muudatused soovite siduda kohustustega. Võite kasutada käsku „git push”, et suruda kohalikus hoidlas olevad käsud kaughoidlasse. Käsk „push” värskendab kaugserveris uusi kohalikke kohustusi. Lükkamisel on kaks argumenti: kaugnimi (päritolu) ja haru nimi (ülem).

Commit vs Push: võrdlusdiagramm

Kokkuvõte Commit vs Push

Lühidalt - pühendumine on Giti muutuste põhiline ühik. Erinevalt teistest tsentraliseeritud versioonikontrolli mudelitest peab Git oma andmeid pigem otsepiltide komplektiks, mida nimetatakse komisjonideks. Need on nagu ülevaade kogu hoidla sisust koos kogu projektiga seotud teabega ja selle hoidla oleku suhetega muude salvestatud olekutega, kuna sisu on aja jooksul muutunud. Kohustusobjekt sisaldab metaandmeid iga hoidlasse tehtud muudatuse kohta, sealhulgas autor, toimepanija, sidumiskuupäev ja logisõnum. Kuid pühenduma salvestab muudatused ainult kohalikku hoidlasse, kuid mitte kaughoidlasse. Git push värskendab pühendunud muudatusi ja võimaldab teil saata need kaughoidlasse, kus kõik arendajad saavad neile juurde pääseda.