Ero sitoutumisen ja työntämisen välillä

Jos olet yksi miljoonien joukossa kehittäjäyhteisössä, on todennäköistä, että olet jo kuullut versionhallinnan käsitteestä. Se on tehokas työkalu tai järjestelmä, joka auttaa sinua huolehtimaan työstäsi ja antaa sinun liikkua nopeasti tiedostoihisi, asiakirjoihisi ja muuhun projektiisi liittyvään tietokokoelmaan. Ja markkinoilla on lukuisia työkaluja tällaisiin töihin, sekä omia että avoimia lähteitä. Git on nykyään yksi maailman suosituimmista ja laajimmin käytetyistä versionhallintajärjestelmistä, ja uskomaton määrä projekteja luottaa Gitiin versionhallintaan. Git on ilmainen ja avoimen lähdekoodin hajautettu versionhallintajärjestelmä, joka on suunniteltu seuraamaan lähdekoodimuutoksia ohjelmistokehityksen aikana.

Git-projektia edustaa tietorakenne, jota kutsutaan arkistoksi, johon kaikki projektiin liittyvät tiedot tallennetaan, mukaan lukien koko projektihistoria sen perustamisesta lähtien. Se seuraa kaikkia tiedostoihin ajan myötä tehtyjä muutoksia, rakentaen aikajanan projektin edetessä. Varasto puolestaan ​​koostuu joukosta yksittäisiä tilannekuvia projektisisällöstä - tiedostojen ja arkistojen kokoelma - nimeltään Commit. Kun haluat jakaa projektisi kehityksen maailman kanssa, sinun on työnnettävä se etäkaukkoon, johon sinulla on kirjoitusoikeus. Paikallisia sivukonttoreitasi ei synkronoida automaattisesti etävarastoihin - sinun on työnnettävä nimenomaisesti jaettavat oksat.

Mikä on sitoutuminen?

Git pitää tietojaan enemmän kuin tilannekuvia, kuten minitiedostojärjestelmää tai versioita nimeltään projektista. Joka kerta kun sitoudut tai tallennat projektisi tilan milloin tahansa, Git ottaa periaatteessa tilannekuvan siitä, miltä tiedostosi näyttävät tällä hetkellä, ja tallentaa viittauksen kyseiseen tilannekuvaan. Sitoumusobjekti sisältää metatiedot jokaisesta arkistolle tehdystä muutoksesta, mukaan lukien tekijä, sitouttaja, sitoutumispäivämäärä ja lokisanoma. Jokainen sitoumus osoittaa puukohteelle, joka kaappaa arkiston tilan sillä hetkellä, kun sitoumus suoritettiin, kaikki yhtenä kokonaiskuvana. Kun teet muutoksia koodiin matkan varrella, luot kourallisen sitoumuksia - erillisen sitoumuksen jokaiselle tekemällesi muutokselle. Git antaa kullekin sitovan yksilöllisen tunnuksen, joka seuraa mitä, milloin ja kuka tekemistäsi muutoksista.

Mikä on Push?

Jokaisella kehittäjällä on oma yksityinen arkisto, jonka avulla voidaan seurata muutoksia. Teet muutokset paikallisesti ja kun olet valmis jakamaan ne muiden kehittäjien kanssa, työnnät ne takaisin kaikkien jakamasi arkistoon. Sitoutuva tallentaa tekemäsi muutokset vain paikalliseen arkistoon, mutta ei etävarastoon. Sitoumuksiasi ei synkronoida automaattisesti etävarastoon - sinun on nimenomaisesti työnnettävä sitoumuksia, jotka haluat jakaa. Kun käytät push-komentoa, otat muutokset käyttöön ylävirran arkistossa. Jokaisella avoimen lähdekoodin projektilla on oma tapa hyväksyä muutokset. Jotkut projektit käyttävät täysin jaettua versionhallintajärjestelmää, jossa vain yksi henkilö voi viedä muutokset päävarastoon, kun taas on jaettu arkistomalli, jossa kaikki kehittäjät voivat siirtyä jaettuun arkistoon.

Ero sitoutumisen ja työntämisen välillä

Perusasiat

- Työntäminen tulee sitoutumisen jälkeen. Git sitouttaa tietueita ja seuraa arkiston muutoksia, kun jokainen sitoutuu osoittaa puukohteelle, joka tallentaa arkiston tilan sillä hetkellä, kun toimeksianto suoritettiin, kaikki yhtenä kokonaiskuvana. Mutta sitoutuu tallentaa muutokset vain paikalliseen arkistoon, mutta ei etävarastoon. Git push päivittää sitoutuneet muutokset ja antaa sinun lähettää ne etävarastoon, jossa kaikki kehittäjät voivat käyttää niitä. Kun käytät push-komentoa, se vain päivittää muutokset ylävirran arkistoon.

Komento

- Git-sitoumukset ovat paikallista merkitystä. Ne tallennetaan vain koneelle, jolla sitoumukset tosiasiallisesti tapahtuvat. "Git sitoutu" -komentoa käytetään käskemään Git tallentamaan muutokset paikallisessa arkistossa, ja sinun on erityisesti kerrottava Gitille, mitkä muutokset haluat sisällyttää toimeksiantoon, ennen kuin käytät "git sitoutu" -komentoa. Voit siirtää paikallisessa arkistossa olevat sitoumukset etävarastoon git push -komennon avulla. Push-komento päivittää etäpalvelimen uudet paikalliset sitoumukset. Painaminen vie kaksi argumenttia: etänimi (lähtökohta) ja haaran nimi (isäntä).

Sitoutuminen vs. työntö: vertailukaavio

Yhteenveto Commit vs. Push

Lyhyesti sanottuna sitoutuminen on Gitin muutoksen perusta. Toisin kuin muut keskitetyt versionhallintamallit, Git pitää tietojaan enemmän kuin tilannekuvia, joita kutsutaan toimeksiannoiksi. Ne ovat kuin tilannekuva koko arkiston sisällöstä, samoin kuin kaikki projektiin liittyvät tiedot ja tämän arkiston tilan suhde muihin tallennettuihin tiloihin, koska sisältö on ajan myötä kehittynyt. Sitoumusobjekti sisältää metatiedot jokaisesta arkistolle tehdystä muutoksesta, mukaan lukien tekijä, sitouttaja, sitoutumispäivämäärä ja lokisanoma. Mutta sitoutuminen tallentaa muutokset vain paikalliseen arkistoon, mutta ei etävarastoon. Git push päivittää sitoutuneet muutokset ja antaa sinun lähettää ne etävarastoon, jossa kaikki kehittäjät voivat käyttää niitä.