Giti kloonide haru - kuidas kloonida konkreetset haru

Erinevalt vanematest tsentraliseeritud versioonide juhtimissüsteemidest nagu SVN ja CVS on Git levitatud. Igal arendajal on oma koodi täielik ajalugu ja kontroll kohapeal või kaugjuhtimisega. Nad saavad ka juurdepääsu mitmele osa koodile või sellega manipuleerida, kui nad peavad seda erinevatest kohtadest sobivaks.

Kuna Linus Torvalds (Linuxi operatsioonisüsteemi kerneli kuulus looja) lõi Giti 2005. aastal Linuxi kerneli arendamiseks, on sellest saanud maailma kõige enam kasutatav kaasaegne versioonihaldussüsteem.

Selles artiklis tutvustan teile Giti klooni ja Giti haru töövooge ning näitan, kuidas saate konkreetset haru kloonida vastavalt oma vajadustele. Alustagem! ?

Eeldused

  • Baasteadmised terminalist
  • Võimalus terminalis käske tippida
  • Git on installitud (ma näitan teile ikkagi, kuidas)
  • GitHubi konto
  • Naeratus su näol (Kas panna see naeratuse sõber üles?)

Kiire sissejuhatus Giti ja GitHubi

Vikipeedia andmetel

Git on hajutatud versiooni juhtimissüsteem, mis on loodud tarkvara (projekti) muudatuste jälgimiseks tarkvaraarenduses. See on mõeldud arendajate vahelise kooskõlastamise, koostöö, kiiruse ja tõhususe tagamiseks.

GitHub on seevastu veebipõhine hostimisteenus versioonide juhtimiseks Giti abil. See pakub kõiki Giti hajutatud versioonihalduse ja lähtekoodi haldamise funktsioone ning lisab arvutikoodi jaoks rohkem funktsioone.

Kuidas installida Git Windowsi

Laadige alla ja installige uusim Git for Windows Installer siit.

Kuidas installida Git Linuxi

Siin on teie Linuxi levitamisel põhinevad käsud:

Debian või Ubuntu

sudo apt-get update sudo apt-get install git

Fedora

sudo dnf install git

CentOS

sudo yum install git

Arch Linux

sudo pacman -Sy git

Gentoo

sudo emerge --ask --verbose dev-vcs/git

Kuidas Giti Maci installida

Laadige alla ja installige uusim Git for Maci installiprogramm siit.

Või võite tippida selle käsu:

brew install git

Nüüd, kui meil on Git installitud, liigume õpetuse juurde.

Sissejuhatus Git Clone'i

Git võimaldab teil hallata ja versioonida oma projekti (projekte) "hoidlas". See hoidla on versiooni haldamiseks salvestatud veebipõhises hostimisteenuses, näiteks GitHub.

Seejärel saate selle hoidla kloonida oma kohalikku masinasse ja omada kõiki faile ja harusid kohapeal (varsti selgitan harude kohta rohkem).

Näiteks võite kloonida freeCodeCampi hoidla SSH-ga järgmiselt:

git clone [email protected]:freeCodeCamp/freeCodeCamp.git

Sissejuhatus Git filiaalidesse

Projekti kallal töötades on teil tõenäoliselt erinevad funktsioonid. Selle projekti ja selle funktsioonidega tegelevad mitmed kaastöötajad.

Filiaalid võimaldavad teil filiaalis luua samade failidega "mänguväljaku" master. Seda haru saate kasutada iseseisvate funktsioonide loomiseks, uute funktsioonide testimiseks, muudatuste tegemiseks, paranduste loomiseks, dokumentide kirjutamiseks või ideede proovimiseks ilma tootekoodi rikkumata või mõjutamata. Kui olete lõpetanud, ühendate haru mastertootmisharuks.

Hargnemine on Giti põhikontseptsioon, mida kasutatakse ka GitHubis ühe projekti erinevate versioonide töövoogude haldamiseks. masterFiliaal on alati vaikimisi filiaali hoidlas, mida kõige sagedamini peetakse "tootmise ja positsioonidele kood". Uued oksad meeldivad oksale passwordless-authvõi neid refactor-signup-uxsaab sellest luua master.

Kuidas kloonida Git filiaale

Ehkki saate git clonekäsklusega hoidlaid kloonida , pidage meeles, et see kloonib haru ja puldi HEAD. See on tavaliselt mastervaikimisi ja sisaldab kõiki muid harusid hoidlas.

Seega kloonides hoidla kloonite masterkõik muud harud. See tähendab, et peate ise mõne teise haru juurde maksma.

Oletame, et teie ülesanne projektis on töötada funktsiooniga, mis lisab kasutaja juhtpaneelile paroolita autentimise. Ja see funktsioon on passwordless-authharus.

Teil pole tõesti masterharu vaja, kuna teie "funktsiooniharu" ühendatakse masterhiljem. Kuidas kloonida seda passwordless-authharu, toomata kõiki teisi harusid "hunniku failidega, mida te ei vaja"?

Selle selgitamiseks lõin selle näidishoidla. Selles hoidlas on lihtne Nextjsiga loodud ajaveeb ja sellel on neli näiv haru:

  • meister
  • dev
  • lavastus
  • paroolita-autend

Järgmises pages/apikaardistatakse kõik kaustas olevad failid /api/*teele ja neid käsitletakse API lõpp- punktina a asemel page. Meie hoidlas olen selles kataloogis loonud erinevad näiv API-d, et muuta iga haru erinevaks.

masterFiliaali hoiab faili pages / api / hello.js samas passwordless-authhoiab faili pages / api / auth.js . Iga fail tagastab lihtsalt näiva tekstivastuse. Vaadake mastersiin tere API vastust (koos teile spetsiaalse sõnumiga?).

Kloonime hoidla:

git clone [email protected]:BolajiAyodeji/nextjs-blog.git

See annab meile juurdepääsu kõigile selle hoidla harudele ja saate hõlpsalt igaühe vahel vahetada, et näha iga versiooni ja selle faile.

git branch -a

Ei tea, kust puldid / päritolu / .. oksad pärit on?

Hoidla kloonimisel tõmbate andmeid Internetis asuvast hoidlast või kaugsüsteemina tuntud sisemisest serverist . Sõna originaal on varjunimi, mille teie Git on loonud kaug-URL-i asendamiseks (soovi korral saate muuta või määrata teise varjunime).

Need kaugjuhtimispuldid / päritolu / .. harud suunavad teid tagasi internetist kloonitud päritoluhoidlasse, et saaksite ikkagi päritolust tõmmata / lükata.

Nii et kui kloonite masteroma masinasse, remotes/origin/masteron mastersee Interneti-haru ja masterteie kohalik masin. Nii et tõmbate / lükkate remotes/origin/master.

Kokkuvõttes on kaugjuhtimine URL, mis suunab teid Interneti-hoidlasse, samas kui Origin on selle kaug-URL-i varjunimi.

Kuidas kloonida konkreetset haru

Kloonime nüüd oma demohoidlast konkreetse haru. Konkreetse haru kloonimiseks on kaks võimalust. Võite teha kas järgmist:

  • Kloonige hoidla, tooge kõik oksad ja makske kohe konkreetsesse harusse.
  • Kloonige hoidla ja tooge ainult üks haru.

Esimene võimalus

git clone --branch  

või

git clone -b  

Sellega võite tuua kõik oksad hoidlas, kassas üks teie määratud ja konkreetse haru muutub konfigureeritud kohalik haru git pushja git pull. Kuid ikkagi tõite kõik filiaalid igast harust. See ei pruugi olla see, mida soovite? ?

Proovime seda:

 git clone -b passwordless-auth [email protected]:BolajiAyodeji/nextjs-blog.git

See konfigureeritakse automaatselt passwordless-authkohalikuks haruks, kuid jälgitakse siiski teisi harusid.

Teine võimalus

git clone --branch  --single-branch 

või

git clone -b  --single-branch 

See täidab sama toimingut nagu esimene variant, välja arvatud see, et see --single-branchvõeti kasutusele Giti versioonis 1.7.10 ja uuemates versioonides. See võimaldab teil faile tuua ainult määratud harust, ilma teisi harusid toomata.

Proovime seda:

git clone -b passwordless-auth --single-branch [email protected]:BolajiAyodeji/nextjs-blog.git

See konfigureeritakse automaatselt passwordless-authkohalikuks haruks ja jälgib ainult seda haru.

Kui käivitate, cd pages/apileiate auth.jsfaili passwordless-authharust, nagu eeldati eelmisest seadistusest.

Järeldus

Võimalik, et Internet või salvestusruum on otsa saamas, kuid peate töötama konkreetse haru ülesandega. Või võite erinevatel põhjustel kloonida konkreetse haru piiratud failidega. Õnneks pakub Git teile selleks paindlikkust. Painutage oma lihaseid ja proovige seda, õppida on palju muud "Git".

Ükshaaval, jah? ✌?