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 master
tootmisharuks.
Hargnemine on Giti põhikontseptsioon, mida kasutatakse ka GitHubis ühe projekti erinevate versioonide töövoogude haldamiseks. master
Filiaal on alati vaikimisi filiaali hoidlas, mida kõige sagedamini peetakse "tootmise ja positsioonidele kood". Uued oksad meeldivad oksale passwordless-auth
või neid refactor-signup-ux
saab sellest luua master
.

Kuidas kloonida Git filiaale
Ehkki saate git clone
käsklusega hoidlaid kloonida , pidage meeles, et see kloonib haru ja puldi HEAD
. See on tavaliselt master
vaikimisi ja sisaldab kõiki muid harusid hoidlas.
Seega kloonides hoidla kloonite master
kõ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-auth
harus.
Teil pole tõesti master
haru vaja, kuna teie "funktsiooniharu" ühendatakse master
hiljem. Kuidas kloonida seda passwordless-auth
haru, 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/api
kaardistatakse 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.
master
Filiaali hoiab faili pages / api / hello.js samas passwordless-auth
hoiab faili pages / api / auth.js . Iga fail tagastab lihtsalt näiva tekstivastuse. Vaadake master
siin 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 master
oma masinasse, remotes/origin/master
on master
see Interneti-haru ja master
teie 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 push
ja 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-auth
kohalikuks 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-branch
võ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-auth
kohalikuks haruks ja jälgib ainult seda haru.


Kui käivitate, cd pages/api
leiate auth.js
faili passwordless-auth
harust, 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? ✌?