Zavart már valaha a Git és a GitHub működése miatt? Ne izgulj - nem vagy egyedül. A Git és a GitHub néha trükkös lehet, de a bejegyzés végére jól meg fogja érteni a kettőt.
Eleinte csábító lehet azt hinni, hogy Git és GitHub ugyanaz. De a valóságban nem azok. Valóban lehetséges a Git használata GitHub nélkül! Végül pedig a kettő különböző célokra létezik.
Ez a bejegyzés azzal kezdődik, hogy alaposan szemügyre veszi a Git és a GitHub céljait. Ezután megismerjük a két létfontosságú technológia közötti fő különbségeket.
Minden további nélkül indítsuk el a Git-tel.
Mi az a Git?
A Git egy elosztott verzióvezérlő rendszer (DVCS), amelyet egy fájl (vagy fájlkészlet) különböző verzióinak mentésére használnak, hogy bármelyik verzió tetszés szerint lehívható legyen.
A Git megkönnyíti a különböző fájlverziók rögzítését és összehasonlítását is. Ez azt jelenti, hogy a részletek arról, hogy mi változott, ki mit változtatott, vagy ki kezdeményezett problémát, bármikor felülvizsgálhatók.
De ha a Git elosztott verziókezelő rendszer, mit jelentenek pontosan ezek a kifejezések?
Mit jelent az „elosztott”?
A „terjesztett” kifejezés azt jelenti, hogy amikor Git-t utasítja a projekt könyvtárának megosztására, a Git nemcsak a legfrissebb fájlverziót osztja meg. Ehelyett terjeszti az adott projekthez rögzített összes verziót.
Ez az "elosztott" rendszer éles ellentétben áll a többi verzióvezérlő rendszerrel. Csak azt az egyetlen verziót osztják meg, amelyet a felhasználó kifejezetten kivizsgált a központi / helyi adatbázisból.
Rendben, tehát az „elosztva” azt jelenti, hogy terjessze a Git által rögzített projektfájlok összes - nem csak néhány kiválasztott - verzióját. De mi is pontosan a verziókezelő rendszer?
Mi az a verziókezelő rendszer?
A verziókezelő rendszer (VCS) arra a módszerre utal, amelyet a fájl verzióinak későbbi felhasználásra történő mentésére használnak.
Szemléletesen sokan már verziókezelő projektjeik átnevezésével különböző változatait ugyanaz a fájl különböző módokon, mint blogScript.js
, blogScript_v2.js
, blogScript_v3.js
, blogScript_final.js
, blogScript_definite_final.js
, és így tovább. De ez a megközelítés hibára hajlamos és hatástalan a csapatprojekteknél.
Emellett annak a nyomon követése, hogy mi változott, ki változtatta meg és miért változtatta meg, unalmas próbálkozás ezzel a hagyományos megközelítéssel. Ez rávilágít egy olyan megbízható és együttműködő verziókezelő rendszer fontosságára, mint a Git.
A Git lehető legjobb kihasználásához azonban elengedhetetlen megérteni, hogy a Git hogyan kezeli a fájljait.
A fájlok állapota Git
A Git-ben három elsődleges állapot (feltétel) van, amelyekben egy fájl lehet: módosított állapot , szakaszos állapot vagy lekötött állapot .
Módosított állapot
A módosított állapotú fájl egy átdolgozott - de nem kötelező (nem rögzített) - fájl.
Más szavakkal, a módosított állapotú fájlok olyan fájlok, amelyeket módosítottál, de nem kifejezetten utasítottad a Gitet a figyelésre.
Szakaszos állapot
A szakaszos állapotban lévő fájlok módosított fájlok, amelyeket kiválasztottak - a jelenlegi állapotukban (verziójukban) - és amelyeket .git
a következő véglegesítési pillanatkép készítése során készítenek el a tárba történő mentésre (lekötésre) .
Miután a fájl stádiumba kerül, ez azt jelenti, hogy kifejezetten felhatalmazta a Git-t a fájl verziójának figyelemmel kísérésére.
Elkötelezett állapot
A lekötött állapotú fájlok olyan fájlok, amelyek sikeresen tárolódnak a .git
tárban.
Így a lekötött fájl olyan fájl, amelybe felvett verzióját rögzítette a Git könyvtárba (mappába).
Megjegyzés: A fájl állapota meghatározza azt a helyet, ahová a Git elhelyezi.
Fájlok helyei
Három kulcsfontosságú helyet tartalmazhat egy fájl, ha a verzió vezérli a Gitet: a munkakönyvtár , az átmeneti terület vagy a Git könyvtár .
Munka könyvtár
A munkakönyvtár a projekt fájljainak helyi mappája. Ez azt jelenti, hogy a rendszer bármely pontján létrehozott mappa egy működő könyvtár.
Jegyzet:
- A módosított állapotú fájlok a munkakönyvtárban találhatók.
- A munkakönyvtár eltér a
.git
könyvtáraktól. Vagyis létrehoz egy működő könyvtárat, míg a Git létrehoz egy.git
könyvtárat. - Tekintse meg ezt az összehasonlító cikket a két adattár közötti további különbségekről.
Összpontosítási körlet
Az átmeneti terület - a Git nyelvhasználatban technikailag „index” -nek nevezzük - egy fájl, általában a .git
könyvtárban található, amely információkat tárol a soronként következő fájlokról a .git
könyvtárba.
Jegyzet:
- A szakaszos állapotú fájlok az állomás területén helyezkednek el.
Git könyvtár
A .git
könyvtár az a mappa (más néven „adattár”), amelyet a Git létrehoz a munkakönyvtárban, amelynek nyomon követésére utasította.
Ezenkívül a .git
mappa az a hely, ahol a Git tárolja az objektum adatbázisokat és a fájl (ok) metaadatait, amelyeket figyelni utasított.
Jegyzet:
- A
.git
könyvtár a Git élettartama - ez az az elem, amelyet másolnak, amikor klónoznak egy adattárat egy másik számítógépről (vagy egy olyan online platformról, mint a GitHub). - A lekötött állapotú fájlok a Git könyvtárban találhatók.
Az alapvető Git munkafolyamat
A Git verziókezelő rendszerrel való együttműködés így néz ki:

- Módosítsa a fájlokat a munka könyvtárban.
Vegye figyelembe, hogy minden módosított fájl módosított állapotú fájlká válik .
- Válassza szelektíven a könyvtárba kötendő fájlokat
.git
.Vegye figyelembe, hogy minden fájl, amelyet az átmeneti területre állít (hozzáad), szakaszos állapotú fájlká válik .
Ne feledje, hogy a szakaszos fájlok még nincsenek az
.git
adatbázisban.Az állomásoztatás azt jelenti, hogy a szakaszos fájlra vonatkozó információk bekerülnek a tárba egy fájlba (az úgynevezett "index")
.git
. - Írja be a
.git
könyvtárba a fájlokat, amelyeket rendezett . Vagyis tartósan tárolja a szakaszos fájl (ok) pillanatképét az.git
adatbázisba.Ne feledje, hogy a
.git
könyvtárhoz rendelt bármely fájlverzió a kijelölt állapotú fájlká válik .
A lényeg eddig
Az eddigi vita hosszú és rövid, hogy a Git egy ragyogó verzióellenőrző rendszer a fájlok kompetens verziójának, kezelésének és terjesztésének. Nézze meg ezt az egyszerű útmutatót a Git hatékony használatának megismeréséhez.
De tartson egy pillanatra, ha a Git segít a projekt fájljának különböző verzióinak hatékony kezelésében és terjesztésében, mi a GitHub célja?
GitHub Demystified
A GitHub egy webalapú platform, ahol a felhasználók otthont adhatnak a Git adattáraknak. Segít megkönnyíteni a projektekben való könnyű megosztást és együttműködést bárkivel, bármikor.
A GitHub ösztönzi a nyílt forráskódú projektekben való szélesebb körű részvételt azáltal, hogy biztonságos módot kínál a fájlok szerkesztésére egy másik felhasználó adattárában.
Git-tár tárolásához (vagy megosztásához) a GitHubon kövesse az alábbi lépéseket:
1. lépés: Regisztráció GitHub-fiókra
A GitHubon történő tárolás megkezdésének első lépése egy személyes fiók létrehozása. Látogasson el a hivatalos regisztrációs oldalra a regisztrációhoz.
2. lépés: Hozzon létre egy távoli adattárat a GitHub-ban
Miután regisztrált egy fiókot, hozzon létre egy otthont (tárhelyet) a GitHub-ban a megosztani kívánt Git-tárházhoz.
3. lépés: Csatlakoztassa a projekt Git könyvtárát a távoli adattárhoz
Miután létrehozott egy távoli adattárat a projektjéhez, kapcsolja össze a projekt .git
könyvtárát - amely a helyén található a rendszeren - a GitHub távoli tárházával.
A távoli adattárhoz való csatlakozáshoz lépjen be a helyi terminálon keresztül megosztani kívánt projekt gyökérkönyvtárába , és futtassa:
git remote add origin //github.com/yourusername/yourreponame.git
Jegyzet:
- Cserélje
yourusername
ki a fenti kódot a GitHub felhasználónevére.Hasonlóképpen cserélje
yourreponame
ki a távoli adattár nevét, amelyhez csatlakozni szeretne. - A fenti parancs azt jelenti, hogy a gitnek hozzá kell adnia a megadott URL- t a helyi projekthez távoli referenciaként, amellyel a helyi
.git
könyvtár kölcsönhatásba léphet. - A
origin
fenti parancs opciója az alapértelmezett név (rövid név), amelyet a Git ad a távoli adattárat tároló szervernek.Vagyis a kiszolgáló URL-je helyett a Git a rövid nevet használja
origin
. - Nem kötelező ragaszkodni a szerver alapértelmezett nevéhez. Ha inkább egy másik nevet szeret, mintsem
origin
egyszerűen cserélje le aorigin
nevet agit remote add
fenti parancsban bármelyik névre, amelyet szeretne. - Mindig emlékezzen arra, hogy a szerver rövid neve (például
origin
) nem különösebb! Csak lokálisan létezik, hogy könnyebben hivatkozhasson a szerver URL-jére. Tehát változtassa meg rövid névre, amelyre könnyen hivatkozhat. - Bármelyik távoli URL átnevezéséhez használja a következő
git remote rename
parancsot:
git remote rename theCurrentURLName yourNewURLName
- Amikor klónoz (letölt) egy távoli repót, Git automatikusan megnevezi a repo URL-jét
origin
. Agit clone -o yourPreferredName
paranccsal azonban megadhat egy másik nevet is . - A becenevek, például a tárolt pontos URL megtekintéséhez
origin
futtassa agit remote -v
parancsot.
4. lépés: Erősítse meg a kapcsolatot
Miután csatlakoztatta a Git könyvtárat a távoli adattárhoz, ellenőrizze, hogy a kapcsolat sikeres volt-e git remote -v
a parancssoron való futtatással .
Ezután ellenőrizze a kimenetet, hogy meggyőződjön arról, hogy a megjelenített URL megegyezik-e a távoli URL- lel, amelyhez csatlakozni kíván.
Jegyzet:
- Lásd a „Csatlakozás SSH-val” cikket, ha a HTTPS URL helyett az SSH URL használatával kíván csatlakozni.
- Ha azonban nem biztos a használni kívánt távoli URL-ben, nézze meg a „Melyik távoli URL-t használjam?” Részt. cikk.
- Meg akarja változtatni a távoli URL-t? A távvezérlő URL-jének megváltoztatása kiváló útmutató.
5. lépés: Tolja a helyi Git repót a távoli repóhoz
Miután sikeresen összekapcsolta a helyi könyvtárat a távoli adattárral, megkezdheti a helyi projekt felfelé tolását (feltöltését).
Amikor készen áll arra, hogy megossza projektjét máshol, bármilyen távoli repón, egyszerűen utasítsa Gitet, hogy a helyi .git
könyvtárban szereplő összes elkötelezettségét, ágát és fájlját a távoli adattárba továbbítsa.
A kód szintaktikai használt feltöltési (push) a helyi Git könyvtárat a távoli adattár git push -u remoteName branchName
.
Vagyis a helyi .git
könyvtár megadásához , és feltételezve, hogy a távoli URL rövid neve „origó”, futtassa:
git push -u origin master
Jegyzet:
- A fenti parancs azt jelenti, hogy a tetű kell nyomni a helyi mester ága a távoli mester ág URL-en található elemzi eredetű .
- Technikailag helyettesítheti az
origin
opciót a távoli adattár URL-jével. Ne feledje, hogy azorigin
opció csak a helyi.git
könyvtárba regisztrált URL beceneve . - A
-u
jelző (upstream / követési referencia zászló) automatikusan összekapcsolja a.git
könyvtár helyi fiókját a távoli ággal. Ez lehetővé teszi, hogygit pull
minden érv nélkül használjon .
6. lépés: Erősítse meg a feltöltést
Végül térjen vissza a GitHub lerakat oldalára, és győződjön meg arról, hogy a Git sikeresen a helyi Git könyvtárat tolta a távoli lerakatba.
Jegyzet:
- Lehetséges, hogy frissítenie kell a távoli adattár oldalát, hogy a változtatások tükröződjenek.
- A GitHub emellett rendelkezik egy ingyenes, opcionális lehetőséggel a távoli adattár funkcionális webhelyké alakítására. Nézze meg alább a „hogyan” leírást.
Tegye közzé webhelyét a GitHub oldalakkal
Miután elküldte a projektet a távoli adattárba, könnyen közzéteheti az interneten, így:
- Győződjön meg arról, hogy a projekt fő HTML fájljának neve az
index.html
. - A GitHub webhely platformján lépjen be a közzétenni kívánt projekt tárházába, és kattintson a tároló beállításai fülre .
- Görgessen le a GitHub Pages szakaszig, és állítsa a Forrás ágat egyikre sem masterre .
- Ezután megjelenik egy értesítés, amely azt mondja: „Webhelyét a //az Ön felhasználóneve.github.io/ your-github-repo-name/ címen tette közzé ”.
- Most megtekintheti - és nyilvánosságra hozhatja - projektjét a megadott URL-címen.
Ez a szakasz csupán megkarcolta a projekt GitHub-mal történő közzétételének felületét. Ha többet szeretne megtudni a GitHub oldalakról, olvassa el ezt a „Munka a GitHub oldalakkal” című dokumentációt.
Röviden
A GitHub egy online platform a Git adattárak tárolására (vagy megosztására). Segít létrehozni egy utat a projektekben való könnyű együttműködéshez bárkivel, bárhol, bármikor.
Még mindig kétséges?
Még mindig zavarban van a Git és a GitHub közötti finom vonalon? Ne aggódj - lefedtem. Az alábbiakban öt fő különbség van a Git és a GitHub között.
1. különbség: Git vs. GitHub - Elsődleges funkció
A Git egy elosztott verzióvezérlő rendszer, amely egy fájl (vagy fájlkészlet) különböző verzióit rögzíti. Lehetővé teszi a felhasználók számára, hogy bármikor hozzáférjenek, összehasonlítsák, frissítsék és terjesszék a rögzített verzió (k) t.
A GitHub azonban főként a Git-adattárak online tárolására szolgáló tárhely. Lehetővé teszi a felhasználók számára, hogy távoli adattárukat titokban tartsák, vagy nyitottak legyenek az együttműködésre.
2. különbség: Git vs. GitHub - Operációs platform
A felhasználók telepítik és működtetik a Git programot a helyi gépeiken. Ez azt jelenti, hogy a Git legtöbb művelete internet nélkül is megvalósítható.
A GitHub azonban egy webalapú szolgáltatás, amely kizárólag online működik. Ez azt jelenti, hogy internetre van szükséged ahhoz, hogy bármit megtej a GitHubon.
3. különbség: Git vs. GitHub - Feltalálók
Linus Torvalds 2005. áprilisában kezdte meg a Git fejlesztését.
Chris Wanstrath, PJ Hyett, Tom Preston-Werner és Scott Chacon 2008 februárjában alapították a GitHub.com-ot.
4. különbség: Git vs. GitHub - fenntartók
2005 júliusában Linus Torvalds Git karbantartását átadta Junio C. Hamano-nak - aki azóta a fő fenntartó.
A Microsoft pedig 2018 októberében felvásárolta a GitHub-ot.
5. különbség: Git vs. GitHub - Versenytársak
A Git népszerű alternatívái a Mercurial, a Team Foundation Version Control (TFVC), a Perforce Helix Core, az Apache Subversion és az IBM Rational ClearCase.
A GitHub legközelebbi versenytársai a GitLab, a Bitbucket, a SourceForge, a Cloud Source Repositories és az AWS CodeCommit.
Összességében
A Git és a GitHub két különböző entitás, amelyek segítenek a fájlok kezelésében és tárolásában. Más szavakkal, a Git a fájlverziók ellenőrzésére szolgál, míg a GitHub egy platform a Git-tárolók tárolására.
Hasznos forrás
- A Git használata - lenyűgöző útmutató fantasztikus tippekkel