Git vs GitHub - Mi a verziókezelés és hogyan működik?

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 .gita 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 .gittá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 .gitkönyvtáraktól. Vagyis létrehoz egy működő könyvtárat, míg a Git létrehoz egy .gitkö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 .gitkönyvtárban található, amely információkat tárol a soronként következő fájlokról a .gitkönyvtárba.

Jegyzet:

  • A szakaszos állapotú fájlok az állomás területén helyezkednek el.

Git könyvtár

A .gitkö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 .gitmappa az a hely, ahol a Git tárolja az objektum adatbázisokat és a fájl (ok) metaadatait, amelyeket figyelni utasított.

Jegyzet:

  • A .gitkö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:

Git alapvető munkafolyamat-diagram
  1. 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 .

  2. 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 .gitadatbá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.

  3. Írja be a .gitkönyvtárba a fájlokat, amelyeket rendezett . Vagyis tartósan tárolja a szakaszos fájl (ok) pillanatképét az .gitadatbázisba.

    Ne feledje, hogy a .gitkö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 .gitkö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 yourusernameki a fenti kódot a GitHub felhasználónevére.

    Hasonlóképpen cserélje yourreponameki 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 .gitkönyvtár kölcsönhatásba léphet.
  • A originfenti 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 originegyszerűen cserélje le a originnevet a git remote addfenti 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 renameparancsot:
git remote rename theCurrentURLName yourNewURLName
  • Amikor klónoz (letölt) egy távoli repót, Git automatikusan megnevezi a repo URL-jét origin. A git clone -o yourPreferredNameparanccsal azonban megadhat egy másik nevet is .
  • A becenevek, például a tárolt pontos URL megtekintéséhez originfuttassa a git remote -vparancsot.

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 -va 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 .gitkö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 .gitkö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 originopciót a távoli adattár URL-jével. Ne feledje, hogy az originopció csak a helyi .gitkönyvtárba regisztrált URL beceneve .
  • A -ujelző (upstream / követési referencia zászló) automatikusan összekapcsolja a .gitkönyvtár helyi fiókját a távoli ággal. Ez lehetővé teszi, hogy git pullminden é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:

  1. Győződjön meg arról, hogy a projekt fő HTML fájljának neve az index.html.
  2. 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 .
  3. Görgessen le a GitHub Pages szakaszig, és állítsa a Forrás ágat egyikre sem masterre .
  4. 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é ”.
  5. 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