Git Clone filiāle - kā klonēt konkrētu filiāli

Atšķirībā no vecākām centralizētām versiju vadības sistēmām, piemēram, SVN un CVS, Git tiek izplatīts. Katram izstrādātājam ir pilna koda vēsture un kontrole lokāli vai attālināti. Viņi var arī piekļūt vairākām koda daļām vai ar tām manipulēt, kā viņi uzskata par piemērotām no dažādām vietām.

Kopš Linuss Torvalds (slavenais Linux operētājsistēmas kodola radītājs) 2005. gadā izveidoja Git Linux kodola izstrādei, tas ir kļuvis par pasaulē visplašāk izmantoto moderno versiju vadības sistēmu.

Šajā rakstā es jūs iepazīstināšu ar Git klona un Git filiāles darbplūsmām un parādīšu, kā jūs varat klonēt konkrētu filiāli, pamatojoties uz savām vajadzībām. Sāksim! ?

Priekšnoteikumi

  • Pamatzināšanas par termināli
  • Spēja ievadīt komandas terminālā
  • Git ir instalēts (es jums joprojām parādīšu, kā)
  • GitHub konts
  • Smaids sejā (Uzliec šo smaida draugu?)

Ātrs ievads Git un GitHub

Saskaņā ar Wikipedia teikto

Git ir izplatīta versiju kontroles sistēma, kas paredzēta, lai izsekotu projekta (koda) izmaiņām programmatūras izstrādē. Tas ir paredzēts, lai nodrošinātu koordinatoru, sadarbību, ātrumu un efektivitāti starp izstrādātājiem.

Savukārt GitHub ir tīmekļa mitināšanas pakalpojums versiju kontrolei, izmantojot Git. Tas piedāvā visu Git izplatīto versiju kontroli un pirmkodu pārvaldības funkcionalitāti, kā arī pievieno vairāk funkciju datorkodam.

Kā instalēt Git sistēmā Windows

Lejupielādējiet un instalējiet jaunāko Git for Windows Installer šeit.

Kā instalēt Git uz Linux

Šeit ir komandas, kuru pamatā ir jūsu Linux izplatītājs:

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

Kā instalēt Git Mac datorā

Lejupielādējiet un instalējiet jaunāko Git for Mac instalēšanas programmu šeit.

Vai arī varat ierakstīt šo komandu:

brew install git

Tagad, kad esam instalējuši Git, pārejam uz apmācību.

Ievads Git Clone

Git ļauj pārvaldīt un versiju projektam (-iem) "krātuvē". Šis krātuve tiek glabāta tīmekļa mitināšanas pakalpojumā versiju kontrolei, piemēram, GitHub.

Pēc tam jūs varat klonēt šo krātuvi vietējā mašīnā un visus failus un filiāles turēt lokāli (drīzumā es vairāk paskaidrošu par filiālēm).

Piemēram, jūs varat klonēt freeCodeCamp krātuvi ar SSH šādi:

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

Ievads Git filiālēs

Strādājot pie projekta, jums, iespējams, būs dažādas funkcijas. Pie šī projekta un tā funkcijām strādās vairāki dalībnieki.

Filiāles ļauj jums izveidot "rotaļu laukumu" ar tiem pašiem failiem masterfiliālē. Varat izmantot šo filiāli, lai izveidotu neatkarīgas funkcijas, pārbaudītu jaunas funkcijas, veiktu izmaiņas, izveidotu labojumus, rakstītu dokumentus vai izmēģinātu idejas, nesalaužot un neietekmējot ražošanas kodu. Kad esat pabeidzis, jūs apvienojat filiāli ražošanas masternozarē.

Atzarošana ir Git pamatkoncepcija, kas tiek izmantota arī GitHub, lai pārvaldītu viena projekta dažādu versiju darbplūsmas. masterFiliāle vienmēr noklusējuma filiāle repozitorijā, kas visbiežāk uzskata par "ražošanu un izvietojamu kodu". No filiāles patīk passwordless-authvai refactor-signup-uxvar izveidot jaunas masterfiliāles.

Kā klonēt Git filiāles

Lai gan jūs varat klonēt krātuves ar git clonekomandu, paturiet prātā, ka tādējādi tiek klonēts zars un tālvadības pults HEAD. Parasti tas ir masterpēc noklusējuma, un repozitorijā ietilpst visas citas filiāles.

Tātad, klonējot repozitoriju, jūs klonējat masterun visas citas filiāles. Tas nozīmē, ka jums pašam būs jāmaksā cits filiāle.

Pieņemsim, ka jūsu uzdevums projektā ir strādāt ar funkciju, lai lietotāja panelī pievienotu autentifikāciju bez paroles. Un šī funkcija ir passwordless-authfiliālē.

Jums patiešām nav nepieciešama masterfiliāle, jo pēc tam jūsu "funkciju filiāle" tiks apvienota master. Kā tad jūs klonējat šo passwordless-authfiliāli, nesaņemot visus citus zarus ar "virkni failu, kas jums nav vajadzīgi"?

Es to izveidoju, lai to izskaidrotu. Šajā krātuvē ir vienkāršs emuārs, kas izveidots kopā ar Nextjs, un tajā ir četras manekena filiāles:

  • meistars
  • dev
  • iestudējums
  • passwordless-auth

Programmā Nextjs jebkurš fails mapē pages/apitiek kartēts ar /api/*ceļu un tiks uzskatīts par API galapunktu, nevis a page. Mūsu krātuvē šajā direktorijā esmu izveidojis dažādas manekena API, lai padarītu katru filiāli atšķirīgu.

masterFiliāle pieder failu lapas / API / hello.js bet passwordless-authtur failu lapas / api / auth.js . Katrs fails vienkārši atgriež fiktīvu teksta atbildi. Šeit skatiet mastersveicamo API atbildi (ar īpašu ziņojumu jums?).

Klonēsim repozitoriju:

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

Tas dod mums piekļuvi visām filiālēm šajā repozitorijā, un jūs varat viegli pārslēgties starp katru, lai redzētu katru versiju un tās failus.

git branch -a

Interesanti, no kurienes nāk pultis / izcelsme / .. zari?

Klonējot repozitoriju, jūs iegūstat datus no krātuves internetā vai iekšējā serverī, kas pazīstams kā tālvadības pults . Vārda izcelsme ir aizstājvārds, ko jūsu Git izveidojis, lai aizstātu attālo URL (ja vēlaties, varat mainīt vai norādīt citu aizstājvārdu).

Šīs tālvadības pulti / izcelsme / .. novirza jūs uz izcelsmes repozitoriju, kuru klonējāt no interneta, lai jūs joprojām varētu veikt vilkšanu / virzīšanu no izcelsmes.

Tātad, kad jūs klonējat masteruz sava datora, remotes/origin/mastertas ir sākotnējais masterfiliāle internetā un masterir jūsu vietējā mašīnā. Tātad jūs vilksiet / virzīsities no un uz remotes/origin/master.

Kopumā Remote ir URL, kas novirza jūs uz repozitoriju internetā, savukārt Origin ir šī attālā URL aizstājvārds.

Kā klonēt noteiktu nozari

Tagad klonēsim noteiktu filiāli no mūsu demonstrācijas krātuves. Ir divi veidi, kā klonēt konkrētu zaru. Varat:

  • Klonējiet krātuvi, ienesiet visas filiāles un nekavējoties izrakstieties konkrētā filiālē.
  • Klonējiet krātuvi un ienesiet tikai vienu filiāli.

Pirmais variants

git clone --branch  

vai

git clone -b  

Ar to jūs iegūstat visus repozitorijā esošos zarus, izrakstieties uz norādīto un filiāle kļūst par konfigurēto vietējo filiāli vietnei git pushun git pull. Bet jūs joprojām no visām filiālēm izguvāt visus failus. Varbūt tas nav tas, ko vēlaties labi? ?

Pārbaudīsim:

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

Tas automātiski tiek konfigurēts passwordless-authkā vietējais filiāle, bet joprojām izseko citas filiāles.

Otrais variants

git clone --branch  --single-branch 

vai

git clone -b  --single-branch 

Tas veic to pašu darbību kā pirmais variants, izņemot to, ka --single-branchopcija tika ieviesta Git versijā 1.7.10 un jaunākās versijās. Tas ļauj iegūt failus tikai no norādītās filiāles, nenesot citus zarus.

Pārbaudīsim:

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

Tas automātiski konfigurē passwordless-authkā vietējo filiāli un izseko tikai šo filiāli.

Ja palaidīsit, filiālē cd pages/apiatradīsit auth.jsfailu, passwordless-authkā paredzēts no iepriekšējās iestatīšanas.

Secinājums

Jums, iespējams, pietrūkst interneta vai krātuves, taču jums jāstrādā pie uzdevuma noteiktā filiālē. Vai arī dažādu iemeslu dēļ jūs varētu vēlēties klonēt konkrētu filiāli ar ierobežotiem failiem. Par laimi, Git nodrošina jums elastību to izdarīt. Pielieciet muskuļus un izmēģiniet to, lai uzzinātu daudz vairāk “Git”.

Pa vienam, jā? ✌?