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 master
filiā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 master
nozarē.
Atzarošana ir Git pamatkoncepcija, kas tiek izmantota arī GitHub, lai pārvaldītu viena projekta dažādu versiju darbplūsmas. master
Filiā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-auth
vai refactor-signup-ux
var izveidot jaunas master
filiāles.

Kā klonēt Git filiāles
Lai gan jūs varat klonēt krātuves ar git clone
komandu, paturiet prātā, ka tādējādi tiek klonēts zars un tālvadības pults HEAD
. Parasti tas ir master
pēc noklusējuma, un repozitorijā ietilpst visas citas filiāles.
Tātad, klonējot repozitoriju, jūs klonējat master
un 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-auth
filiālē.
Jums patiešām nav nepieciešama master
filiāle, jo pēc tam jūsu "funkciju filiāle" tiks apvienota master
. Kā tad jūs klonējat šo passwordless-auth
filiā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/api
tiek 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.
master
Filiāle pieder failu lapas / API / hello.js bet passwordless-auth
tur failu lapas / api / auth.js . Katrs fails vienkārši atgriež fiktīvu teksta atbildi. Šeit skatiet master
sveicamo 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 master
uz sava datora, remotes/origin/master
tas ir sākotnējais master
filiāle internetā un master
ir 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 push
un 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-auth
kā 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-branch
opcija 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-auth
kā vietējo filiāli un izseko tikai šo filiāli.


Ja palaidīsit, filiālē cd pages/api
atradīsit auth.js
failu, passwordless-auth
kā 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ā? ✌?