Git Clone Branch - Ako naklonovať konkrétnu pobočku

Na rozdiel od starších systémov centralizovaného riadenia verzií ako SVN a CVS je Git distribuovaný. Každý vývojár má úplnú históriu a kontrolu nad svojím kódom lokálne alebo vzdialene. Môžu tiež získať prístup alebo manipulovať s niekoľkými časťami kódu, ktoré považujú za vhodné z rôznych miest.

Odkedy Linus Torvalds (slávny tvorca jadra operačného systému Linux) vytvoril Git v roku 2005 pre vývoj jadra Linuxu, stal sa najpoužívanejším moderným systémom riadenia verzií na svete.

V tomto článku vám predstavím klon Git a pracovné postupy pobočiek Git a ukážem vám, ako môžete klonovať konkrétnu pobočku na základe vašich potrieb. Poďme začať! ?

Predpoklady

  • Základné znalosti terminálu
  • Schopnosť písať príkazy v termináli
  • Git nainštalovaný (stále vám ukážem ako)
  • Účet GitHub
  • Úsmev na tvári (Zmierte sa s tým priateľom úsmevu?)

Rýchly úvod do Git a GitHub

Podľa Wikipédie

Git je distribuovaný systém riadenia verzií určený na sledovanie zmien projektu (kódu) pri vývoji softvéru. Je určená na presadenie koordinácie, spolupráce, rýchlosti a efektívnosti medzi vývojármi.

GitHub je na druhej strane webová hostingová služba na správu verzií pomocou Git. Ponúka všetky funkcie distribuovanej verzie a správy zdrojového kódu v Gite a pridáva ďalšie funkcie pre počítačový kód.

Ako nainštalovať Git na Windows

Stiahnite a nainštalujte si najnovšiu Inštalátor Git pre Windows tu.

Ako nainštalovať Git na Linux

Tu sú príkazy založené na vašom systéme Linux:

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

Ako nainštalovať Git na Mac

Tu si stiahnite a nainštalujte najnovší inštalátor Git pre Mac.

Alebo môžete zadať tento príkaz:

brew install git

Teraz, keď máme nainštalovaný Git, prejdime k tutoriálu.

Úvod do Git Clone

Git vám umožňuje spravovať a vytvárať verzie vašich projektov v „úložisku“. Toto úložisko je uložené vo webovej hostiteľskej službe na riadenie verzií, ako je GitHub.

Potom môžete toto úložisko naklonovať do svojho lokálneho počítača a mať všetky súbory a pobočky lokálne (viac podrobností o pobočkách čoskoro vysvetlím).

Napríklad môžete klonovať úložisko freeCodeCamp pomocou SSH takto:

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

Úvod do pobočiek Git

Pri práci na projekte budete pravdepodobne mať rôzne vlastnosti. Na tomto projekte a jeho vlastnostiach bude pracovať viac prispievateľov.

Pobočky vám umožňujú vytvoriť „ihrisko“ s rovnakými súbormi vo mastervetve. Túto vetvu môžete použiť na vytváranie nezávislých funkcií, testovanie nových funkcií, vykonávanie zlomových zmien, vytváranie opráv, písanie dokumentov alebo skúšanie nápadov bez porušenia alebo ovplyvnenia produkčného kódu. Po dokončení zlúčite pobočku do výrobnej masterpobočky.

Rozvetvenie je základný koncept v Gite, ktorý sa tiež používa v GitHube na správu pracovných tokov rôznych verzií jedného projektu. masterVetva je vždy predvolená pobočka v úložisku, ktorý je najčastejšie považovaná za "výrobu a nasadenie code". Z pobočky sa dajú vytvoriť passwordless-authalebo refactor-signup-uxvytvoriť nové masterpobočky.

Ako klonovať pobočky Git

Aj keď môžete klonovať úložiská pomocou git clonepríkazu, nezabudnite, že toto naklonuje vetvu a diaľkový ovládač HEAD. Toto je zvyčajne masterpredvolené nastavenie a zahŕňa všetky ostatné vetvy v úložisku.

Takže keď naklonujete úložisko, naklonujete mastervšetky ďalšie vetvy. To znamená, že si budete musieť sami zaplatiť ďalšiu pobočku.

Povedzme, že vašou úlohou v projekte je pracovať na funkcii pridania autentifikácie bez hesla na informačný panel používateľa. A táto funkcia je v passwordless-authbrandži.

Naozaj masterpobočku nepotrebujete, pretože vaša „vetva funkcií“ bude zlúčená do masterneskôr. Ako potom naklonujete túto passwordless-authvetvu bez toho, aby ste všetky ostatné vetvy načítali pomocou „kopy súborov, ktoré nepotrebujete“?

Na vysvetlenie som vytvoril toto vzorové úložisko. Toto úložisko obsahuje jednoduchý blog vytvorený pomocou Nextjs a má štyri fiktívne vetvy:

  • pán
  • dev
  • inscenácia
  • bez hesla

V programe Nextjs je akýkoľvek súbor v priečinku pages/apinamapovaný na /api/*cestu a bude sa s ním zaobchádzať ako s koncovým bodom API namiesto s page. V našom úložisku som v tomto adresári vytvoril rôzne atrapy API, aby som každú vetvu odlíšil.

masterVetva drží súbor stránok / API / hello.js zatiaľ čo passwordless-authdrží súbor stránok / api / auth.js . Každý súbor iba vráti fiktívnu textovú odpoveď. masterTu si môžete pozrieť odpoveď rozhrania API (so špeciálnou správou pre vás?).

Naklonujme úložisko:

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

Vďaka tomu máme prístup ku všetkým pobočkám v tomto úložisku a môžete medzi nimi ľahko prepínať, aby ste videli každú verziu a jej súbory.

git branch -a

Zaujíma vás, odkiaľ sa vzali diaľkové ovládače / pôvod / .. pobočiek?

Keď klonujete úložisko, načítate údaje z úložiska na internete alebo z interného servera známeho ako vzdialené . Slovo origin je alias vytvorený vašim Gitom na nahradenie vzdialenej adresy URL (ak chcete, môžete zmeniť alebo určiť iný alias).

Tieto diaľkové ovládače / pôvod / .. vás nasmerujú späť do pôvodného úložiska, ktoré ste naklonovali z internetu, aby ste z pôvodného miesta mohli stále vykonávať ťahanie / tlačenie.

Takže keď sa naklonujete masterna svoj počítač, remotes/origin/masterje pôvodná masterpobočka na internete a masterje na vašom lokálnom počítači. Takže budete ťahať / tlačiť z a do remotes/origin/master.

V súhrne je Remote adresa URL, ktorá vás nasmeruje na úložisko na internete, zatiaľ čo Origin je alias pre túto vzdialenú URL.

Ako klonovať konkrétnu pobočku

Teraz poďme klonovať konkrétnu vetvu z nášho ukážkového úložiska. Existujú dva spôsoby klonovania konkrétnej vetvy. Môžete buď:

  • Klonujte úložisko, načítajte všetky vetvy a ihneď odošlite platbu do konkrétnej vetvy.
  • Klonujte úložisko a načítajte iba jednu vetvu.

Možnosť jedna

git clone --branch  

alebo

git clone -b  

Týmto spôsobom načítate všetky vetvy v úložisku, pokladňu do tej, ktorú ste zadali, a konkrétna vetva sa stane nakonfigurovanou lokálnou vetvou pre git pusha git pull. Stále ste ale načítali všetky súbory z každej vetvy. Toto nemusí byť to, čo chcete, že? ?

Poďme to vyskúšať:

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

Toto sa automaticky nakonfiguruje passwordless-authako lokálna pobočka, ale stále sa sledujú ďalšie pobočky.

Možnosť dva

git clone --branch  --single-branch 

alebo

git clone -b  --single-branch 

Týmto sa vykoná rovnaká akcia ako pri možnosti jedna, až na to, že táto --single-branchmožnosť bola predstavená v Gite verzie 1.7.10 a novšej. Umožňuje vám načítať súbory iba zo zadanej vetvy bez načítania ďalších vetiev.

Poďme to vyskúšať:

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

Toto sa automaticky nakonfiguruje passwordless-authako lokálna pobočka a bude sledovať iba túto vetvu.

Ak spustíte cd pages/api, nájdete auth.jssúbor vo passwordless-authvetve podľa očakávania z predchádzajúceho nastavenia.

Záver

Možno vám dochádza internet alebo úložný priestor, ale musíte pracovať na úlohe v konkrétnej pobočke. Alebo budete chcieť z rôznych dôvodov naklonovať konkrétnu vetvu s obmedzeným počtom súborov. Našťastie vám Git poskytuje flexibilitu, ako to dosiahnuť. Natiahnite svaly a vyskúšajte to, dá sa toho naučiť oveľa viac „Gitu“.

Jeden po druhom, áno? ✌?