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 master
elá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-auth
vagy refactor-signup-ux
hozhatók létre az master
ágból.

Hogyan klónozzuk a Git ágakat
Miközben klónozhatja a tárakat a git clone
paranccsal, ne feledje, hogy ez klónozza az ágat és a távvezérlőt HEAD
. Ez általában master
alapé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" master
utá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/api
lé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 master
itt 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 master
a gépedre, remotes/origin/master
akkor az eredeti master
fiók az interneten és master
a 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-auth
helyi 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-branch
opció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-auth
helyi fiókként konfigurálódik , és csak ezt az ágat követi nyomon.


Ha futtatja cd pages/api
, akkor a auth.js
fá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? ✌?