Git Clone Branch - Hogyan klónozhat egy adott ágat

A régebbi központosított verzióvezérlő rendszerektől, például az SVN-től és a CVS-től eltérően a Git terjesztés alatt áll. Minden fejlesztő rendelkezik a kódjának teljes előzményeivel és vezérlésével lokálisan vagy távolról. Hozzáférhetnek vagy manipulálhatják a kód több részét, ahogyan azt különböző helyekről megfelelőnek tartják.

Amióta Linus Torvalds (a Linux operációs rendszer kernelének híres készítője) 2005-ben létrehozta a Git szoftvert a Linux kernel fejlesztésére, a világon a legszélesebb körben használt modern verziókezelő rendszerré vált.

Ebben a cikkben bemutatom a Git klón és a Git elágazás munkafolyamatait, és megmutatom, hogyan klónozhat egy adott elágazást az igényei alapján. Kezdjük! ?

Előfeltételek

  • A terminál alapismeretei
  • Képes parancsokat beírni a terminálba
  • Git telepítve (továbbra is megmutatom, hogyan)
  • GitHub-fiók
  • Mosoly az arcodon (Tedd fel ezt a mosolybarátot?)

Gyors bevezetés a Gitbe és a GitHub-ba

A Wikipédia szerint

A Git egy elosztott verzióvezérlő rendszer, amelynek célja a projekt (kód) változásainak nyomon követése a szoftverfejlesztésben. Célja a fejlesztők közötti koordináció, együttműködés, gyorsaság és hatékonyság érvényesítése.

A GitHub viszont egy webalapú tárhelyszolgáltatás a Git használatával történő verziószabályozáshoz. Felajánlja a Git összes elosztott verziókezelési és forráskód-kezelési funkcióját, valamint további funkciókat ad hozzá a számítógépes kódhoz.

A Git telepítése a Windows rendszerre

Töltse le és telepítse a legújabb Git for Windows Installer alkalmazást itt.

A Git telepítése Linuxra

Itt vannak a Linux disztribúción alapuló parancsok:

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

A Git telepítése Mac-re

Töltse le és telepítse a legújabb Git for Mac telepítőt.

Vagy beírhatja ezt a parancsot:

brew install git

Most, hogy a Git telepítve van, térjünk át az oktatóanyagra.

Bevezetés a Git Clone-ba

A Git lehetővé teszi a projekt (ek) kezelését és verziószámosítását egy "adattárban". Ez az adattár egy webalapú tárhelyszolgáltatáson van tárolva a verzióellenőrzéshez, például a GitHub.

Ezután klónozhatja ezt az adattárat a helyi gépére, és az összes fájlt és elágazást helyben birtokolhatja (hamarosan bővebben elmagyarázom az ágakat).

Például klónozhatja a freeCodeCamp adattárát az SSH-val így:

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

Bevezetés a Git ágakba

Ha egy projekten dolgozik, akkor valószínűleg különböző tulajdonságai lesznek. És több közreműködő dolgozik ezen a projekten és annak jellemzőin.

Az ágak lehetővé teszik egy "játszótér" létrehozását ugyanazokkal a fájlokkal az masterágban. Használhatja ezt az ágat független szolgáltatások felépítéséhez, új funkciók teszteléséhez, változások végrehajtásához, javítások létrehozásához, dokumentumok írásához vagy ötletek kipróbálásához anélkül, hogy feltörné vagy befolyásolná a gyártási kódot. Ha végzett, beolvasztja az ágat a termelési masterágba.

Az elágazás a Git egyik alapkoncepciója, amelyet a GitHub is használ egy projekt különböző verzióinak munkafolyamatainak kezelésére. Az masterelágazás mindig az alapértelmezett elágazás egy adattárban, amelyet leggyakrabban "termelési és telepíthető kódnak" tekintenek. Új ágak tetszenek passwordless-authvagy refactor-signup-uxhozhatók létre az masterágból.

Hogyan klónozzuk a Git ágakat

Miközben klónozhatja a tárakat a git cloneparanccsal, ne feledje, hogy ez klónozza az ágat és a távvezérlőt HEAD. Ez általában masteralapértelmezés szerint tartalmazza az összes többi ágat a tárban.

Tehát amikor klónozol egy adattárat, akkor klónozod a masterés az összes többi ágat. Ez azt jelenti, hogy Önnek egy másik fiókot kell fizetnie.

Tegyük fel, hogy a projekt feladata az, hogy dolgozzon egy olyan funkcióval, amely jelszó nélküli hitelesítést ad hozzá a felhasználói irányítópulthoz. És ez a funkció az passwordless-authágban van.

Valójában nincs szüksége az masterágra, mivel a "szolgáltatáság" masterutána összeolvad . Hogyan klónozhatja ezt az passwordless-authágat anélkül, hogy az összes többi ágat "egy csomó fájlra szüksége lenne"?

Ennek megmagyarázására hoztam létre ezt a mintatárat. Ez a tár egy egyszerű blogot tartalmaz, amelyet a Nextjs készített, és négy dummy ága van:

  • fő-
  • dev
  • színpadra állítás
  • jelszó nélküli-auth

A Nextjs-ben a mappában pages/apilévő bármely fájl leképezésre kerül az /api/*elérési útvonalra, és az API helyett végpontként fog kezelni page. A tárunkban különböző dummy API-kat hoztam létre ebben a könyvtárban, hogy az egyes ágak különbözőek legyenek.

Az masterág az pages / api / hello.jspasswordless-auth fájlt, míg az / api / auth.js fájlt tárolja . Minden fájl csak egy ál-szöveges választ ad vissza. Lásd masteritt a hello API-választ (egy speciális üzenettel az Ön számára?).

Klónozzuk a tárat:

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

Ez hozzáférést biztosít számunkra a tárház összes ágához, és könnyedén válthat az egyes verziók között, hogy megtekinthesse az egyes verziókat és fájljaikat.

git branch -a

Kíváncsi vagy, honnan származnak a távirányítók / származási / .. ágak?

A klón klónozásakor adatokat gyűjt az interneten található tárolóból vagy egy távoli néven ismert belső szerverről . Az origó szó egy álnév, amelyet a Git készített a távoli URL helyettesítésére (ha akar, módosíthat vagy megadhat egy másik álnevet).

Ezek a távirányítók / origó / .. ágak visszavezetnek az internetről klónozott eredettárba, így továbbra is lehúzhat / nyomhat az origótól.

Tehát amikor klónozol mastera gépedre, remotes/origin/masterakkor az eredeti masterfiók az interneten és mastera helyi gépeden van. Tehát húzni / tolni fog a és felé remotes/origin/master.

Összefoglalva, a Távoli az az URL, amely az interneten található tárolóra mutat, míg az Origin a távoli URL álneve.

Hogyan klónozhat egy adott ágat

Most klónozzunk egy adott ágat a bemutató tárunkból. Kétféleképpen klónozhat egy adott ágat. A következőket teheti:

  • Klónozza meg az adattárat, töltse le az összes ágat, és azonnal fizessen egy adott fiókba.
  • Klónozza az adattárat, és csak egyetlen ágat kérjen le.

Első lehetőség

git clone --branch  

vagy

git clone -b  

Ezzel meg hívni az összes ága a tárolóból, pénztár, hogy az Ön által megadott, és az adott ágra válik a beállított helyi ága git pushés git pull. De akkor is minden fájlt lekért minden ágból. Lehet, hogy nem ezt akarja? ?

Teszteljük:

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

Ez automatikusan passwordless-authhelyi fiókként konfigurálódik , de továbbra is nyomon követi a többi ágat.

Második lehetőség

git clone --branch  --single-branch 

vagy

git clone -b  --single-branch 

Ez ugyanazt a műveletet hajtja végre, mint az első opciót, azzal a különbséggel, hogy az --single-branchopciót a Git 1.7.10-es és újabb verzióiban vezették be. Ez lehetővé teszi, hogy fájlokat csak a megadott ágból lehessen letölteni más ágak beolvasása nélkül.

Teszteljük:

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

Ez automatikusan passwordless-authhelyi fiókként konfigurálódik , és csak ezt az ágat követi nyomon.

Ha futtatja cd pages/api, akkor a auth.jsfájlt az passwordless-authágban találja , az előző beállításnak megfelelően.

Következtetés

Lehet, hogy fogy az internet vagy a tárhely, de egy adott ágban lévő feladaton kell dolgoznia. Vagy különféle okokból érdemes korlátozott fájlokkal klónozni egy adott ágat. Szerencsére a Git biztosítja ezt a rugalmasságot. Hajlítsa meg az izmait és próbálja ki, sokkal több „Git” van, amit meg kell tanulnia.

Egyenként, igen? ✌?