Kuidas tõmmata Giti hoidlat Linuxis

click fraud protection

Git määratleb versioonihaldusprotsessid, kuidas projekte jagada. On palju veebisaite, mis võimaldavad teil oma Giti projekte majutada. GitHub on kõige populaarsem valik, Bitbucket on teine ​​​​populaarne alternatiiv, mõlemad võimaldavad tasuta kontosid, mis võivad luua piiramatult avalikke või privaatseid hoidlaid. GitLab pakub isehostitavat alternatiivi, mis võimaldab privaatset arengut ilma kolmanda osapoole hostimisele tuginemata.

Giti hoidla esmakordse allalaadimise protsessi nimetatakse kloonimiseks. Kloonimine hõlmab kogu teavet hoidla kohta tol ajal, kuid hoidla aja jooksul ajakohasena hoidmiseks peate uued versioonid alla tõmbama. Selleks avage lihtsalt hoidla kohaliku versiooniga kataloogis terminaliaken ja tippige käsk "git pull".

Selle käsu toimimine on eriti lihtne, kui soovite lihtsalt hoidla värskendatud versiooni alla laadida; kohalikku versiooni värskendatakse, et see vastaks kaugversioonile. Kui olete oma kohalikku versiooni muutnud, võite siiski näha, et probleeme võib esineda.

Käsk “git pull” käivitab tegelikult kaks eraldi käsku “git fetch” ja “git merge FETCH HEAD”. Alamkäsk “git fetch” tõmbab spetsiaalselt veebihoidlast uusima versiooni alla ja salvestab selle ajutiselt. Alamkäsk „git merge FETCH HEAD” liidab seejärel teie kohalikud muudatused allalaaditud versiooniga, eelistades uuemaid muudatusi.

Näpunäide. Git commit on muudatuse esitamine, võib olla mitu kohalikku ja kaugkohustust, mis teevad samu või erinevaid asju. Kohalikud sissekanded pole kaugversioonile nähtavad enne, kui muudatused on lükatud. Iga kohustus kirjeldab täpselt, milliseid muudatusi tehti, ja sisaldab ajatemplit.

Konfliktid kohalike ja kaugversioonide vahel

Ideaalis ühendamise stsenaariumi korral konflikte ei esine ja liitmisprotsess lõpeb automaatselt. Ühendamine võib olla eriti lihtne, kui tehti vähe muudatusi või kui teie kohalikud muudatused ei sega kaugmuudatusi. Kui aga samas koodiosas on vastuolulisi keerulisi muudatusi, annab Git liitmisvea.

Sel hetkel saate ühendamise katkestada käsuga "git merge –abort" või proovida konflikte käsitsi lahendada. Käsud "git mergetool" ja "git diff" annavad graafilise näite erinevustest, mis peaksid aitama et oleks võimalikult lihtne näha, milliseid muudatusi tuleb liitmise lubamiseks käsitsi rakendada täielik. Kui olete kõik konfliktid lahendanud, tippige ühendamise lõpuleviimiseks käsk "git merge –continue".

Käsk "git mergetool" avab sellise graafilise tööriista, mis aitab konflikte käsitsi lahendada.