Git Clone Branch - Kuinka kloonata tietty haara

Toisin kuin vanhat keskitetyt versionhallintajärjestelmät, kuten SVN ja CVS, Git on jaettu. Jokaisella kehittäjällä on koodinsa koko historia ja hallinta paikallisesti tai etänä. He voivat myös käyttää useita koodin osia tai manipuloida niitä eri mieltä sopiviksi eri paikoista.

Koska Linus Torvalds (kuuluisa Linux-käyttöjärjestelmän ytimen luoja) loi Gitin vuonna 2005 Linux-ytimen kehittämistä varten, siitä on tullut maailman eniten käytetty nykyaikainen versionhallintajärjestelmä.

Tässä artikkelissa esitän sinulle Git-kloonin ja Git-haaran työnkulut ja näytän, kuinka voit kloonata tietyn haaran tarpeidesi mukaan. Aloitetaanpa! ?

Edellytykset

  • Perustiedot terminaalista
  • Kyky kirjoittaa komentoja päätelaitteeseen
  • Git asennettuna (näytän silti miten)
  • GitHub-tili
  • Hymy kasvoillesi (Laita tuo hymyystäväsi?)

Nopea esittely Gitiin ja GitHubiin

Wikipedian mukaan

Git on hajautettu versionhallintajärjestelmä, joka on suunniteltu seuraamaan projektin (koodin) muutoksia ohjelmistokehityksessä. Sen tarkoituksena on varmistaa kehittäjien välinen koordinointi, yhteistyö, nopeus ja tehokkuus.

GitHub on toisaalta verkkopohjainen isännöintipalvelu versionhallintaan Git-sovelluksella. Se tarjoaa kaikki Gitin hajautetut versionhallinta- ja lähdekoodinhallintatoiminnot sekä lisäominaisuuksia tietokonekoodille.

Kuinka asentaa Git Windowsiin

Lataa ja asenna uusin Git for Windows Installer täältä.

Kuinka asentaa Git Linuxiin

Tässä ovat Linux-distroosi perustuvat komennot:

Debian tai 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

Kuinka asentaa Git Maciin

Lataa ja asenna uusin Git for Mac -asennusohjelma täältä.

Tai voit kirjoittaa tämän komennon:

brew install git

Nyt kun Git on asennettu, siirrymme opetusohjelmaan.

Johdatus Git Cloneen

Gitin avulla voit hallita ja versiota projektiasi (arkistoja) "arkistossa". Tämä arkisto on tallennettu verkkopohjaiseen isäntäpalveluun versionhallintaa varten, kuten GitHub.

Tämän jälkeen voit kloonata tämän arkiston paikalliselle koneellesi ja saada kaikki tiedostot ja haarat paikallisesti (selitän lisätietoja haaroista pian).

Voit esimerkiksi kloonata freeCodeCampin arkiston SSH: lla seuraavasti:

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

Johdatus Git-haaroihin

Kun työskentelet projektin parissa, sinulla on todennäköisesti erilaisia ​​ominaisuuksia. Ja useita avustajia työskentelee tämän projektin ja sen ominaisuuksien parissa.

Haarojen avulla voit luoda "leikkikentän", jossa on samat tiedostot masterhaarassa. Tämän haaran avulla voit rakentaa itsenäisiä ominaisuuksia, testata uusia ominaisuuksia, tehdä muutoksia, luoda korjauksia, kirjoittaa asiakirjoja tai kokeilla ideoita rikkomatta tuotantokoodia tai vaikuttamatta siihen. Kun olet valmis, sulautat haaran tuotantohaaraan master.

Haarautuminen on Gitin keskeinen käsite, jota käytetään myös GitHubissa yhden projektin eri versioiden työnkulkujen hallintaan. masterHaara on aina oletuksena sivuliikkeen säilöön, joka on useimmiten pidetään "tuotantoa ja toimintavalmiuteen koodin". Uudet oksat muistuttavat haaraa passwordless-authtai refactor-signup-uxniistä voidaan luoda niitä master.

Kuinka kloonata Git-haarat

Vaikka voit kloonata arkistoja git clonekomennolla, muista, että tämä kloonaa haaran ja kaukosäätimen HEAD. Tämä on yleensä masteroletusarvo ja sisältää kaikki muut arkistot.

Joten kun kloonaat arkiston, kloonaat masterkaikki muut haarat. Tämä tarkoittaa, että joudut ostamaan toisen sivuliikkeen itse.

Oletetaan, että projektisi tehtävänäsi on työskennellä ominaisuuden kanssa, joka lisää salasanattoman todennuksen käyttäjän hallintapaneeliin. Ja tämä ominaisuus on passwordless-authhaarassa.

Et todellakaan tarvitse masterhaaraa, koska "ominaisuushaara" sulautuu mastermyöhemmin. Kuinka kloonat tämän passwordless-authhaaran hakematta kaikkia muita haaroja "joukolla tiedostoja, joita et tarvitse"?

Loin tämän esimerkkivaraston selittääkseni tämän. Tässä arkistossa on yksinkertainen Nextjsillä rakennettu blogi, ja siinä on neljä nuken haaraa:

  • hallita
  • dev
  • lavastus
  • passwordless-auth

Nextjsissä kaikki kansion sisällä olevat tiedostot pages/apikartoitetaan /api/*polulle ja niitä käsitellään API-päätepisteenä a: n sijaan page. Tietovarastossamme olen luonut tähän hakemistoon erilaiset sovellusliittymät, jotta jokainen haara olisi erilainen.

masterHaara pitää tiedosto sivua / API / hello.js samalla passwordless-authpitää tiedostoa sivut / API / auth.js . Jokainen tiedosto palauttaa vain nuken tekstivastauksen. Katso masterhei API -vastaukset täällä (erityinen viesti sinulle?).

Kloonataan arkisto:

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

Tämä antaa meille pääsyn kaikkiin tämän arkiston haaroihin, ja voit helposti vaihtaa niiden välillä nähdäksesi kunkin version ja sen tiedostot.

git branch -a

Mietitkö, mistä kaukosäätimet / alkuperä / .. haarat tulivat?

Kun kloonaat arkistoa, vedät tietoja Internetissä olevasta arkistosta tai sisäisestä palvelimesta, joka tunnetaan kauko-ohjaimena . Sana alkuperä on alias, jonka Git on luonut korvaamaan etä-URL-osoitteen (voit muuttaa tai määrittää toisen aliaksen, jos haluat).

Nämä kaukosäätimet / alkuperä / ..- haarat osoittavat sinut takaisin Internetistä kloonattuun alkuperäistietovarastoon, jotta voit silti suorittaa vedon / työntö alkuperästä.

Joten kun kloonaat masterkoneellesi, se remotes/origin/masteron alkuperäinen masterhaara Internetissä ja masterpaikallisella koneellasi. Joten vedät / työnnät remotes/origin/master.

Yhteenvetona kauko-ohjain on URL-osoite, joka osoittaa sinut Internet-tietovarastoon, kun taas Origin on aliakseksi tälle etä-URL-osoitteelle.

Kuinka kloonata tietty haara

Kloonataan nyt tietty haara demovarastostamme. Tiettyä haaraa voidaan kloonata kahdella tavalla. Voit joko:

  • Kloonaa arkisto, hae kaikki haarat ja maksa heti tiettyyn haaraan.
  • Kloonaa arkisto ja hae vain yksi haara.

Vaihtoehto yksi

git clone --branch  

tai

git clone -b  

Tämän avulla haet kaikki arkistot haarat, maksat määrittämäsi haaran, ja tietystä haarasta tulee määritetty paikallinen haara kohteelle git pushja git pull. Mutta hait silti kaikki tiedostot kustakin haarasta. Tämä ei ehkä ole sitä, mitä haluat oikein? ?

Testataan se:

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

Tämä määritetään automaattisesti passwordless-authpaikalliseksi haaraksi, mutta seuraa silti muita haaroja.

Vaihtoehto kaksi

git clone --branch  --single-branch 

tai

git clone -b  --single-branch 

Tämä suorittaa saman toiminnon kuin vaihtoehto yksi, paitsi että --single-branchvaihtoehto otettiin käyttöön Gitin versiossa 1.7.10 ja uudemmissa. Sen avulla voit hakea vain tiedostoja määritetystä haarasta hakematta muita haaroja.

Testataan se:

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

Tämä määritetään automaattisesti passwordless-authpaikalliseksi haaraksi ja seuraa vain tätä haaraa.

Jos suoritat cd pages/api, löydät auth.jstiedoston passwordless-authhaarasta odotetusti edellisestä asetuksesta.

Johtopäätös

Internet tai tallennustila saattaa olla loppumassa, mutta sinun on työskenneltävä tietyn haaran tehtävän parissa. Tai haluat ehkä kloonata tietyn haaran rajoitetuilla tiedostoilla eri syistä. Onneksi Git tarjoaa sinulle joustavuuden tehdä tämä. Taivuta lihaksiasi ja kokeile sitä, opittavaa on paljon enemmän.

Yksi kerrallaan? ✌?