Repository a Gitben: mi ez, milyen típusai vannak és hogyan működnek

Szerző: IT Sectr Megjelenés: 2026-05-09 Olvasási idő: 8 perc

Git-adattár — a projekt forráskódjának tárháza, amelyben a Git nyomon követi a fájlok minden változását a fejlesztés során. Az adattár tartalmazza a commitok, ágak és címkék teljes előzményét, lehetővé téve a fejlesztőknek a közös munkát a kódon. A Git, 2024 adatai szerint az adattár minden verziókezelő rendszer alapja, és világszerte millió projektben használják.

Főbb pontok

  • Git-adattár — a projekt könyvtára a .git mappával, ahol a teljes változástörténet tárolódik.
  • Lokális adattár a fejlesztő számítógépén található, és lehetővé teszi a kóddal való munkát internetkapcsolat nélkül.
  • Távoli adattár GitHub, GitLab vagy Bitbucket szerveren található, és a résztvevők közötti szinkronizálásra szolgál.
  • A Git az adatokat fájlpillanatképekként tárolja, nem változáslistaként, ami felgyorsítja az elágazási és egyesítési műveleteket.
  • A verziókezelő rendszer megoldja az egy projekten való egyidejű munka problémáját, megelőzve a konfliktusokat a kódegysítés során.

Mi az adattár a Gitben

Git-adattár — egy adatstruktúra, amelyben a verziókezelő rendszer tárolja a projektfájlok változástörténetét leíró metaadatokat és objektumokat. Amikor a fejlesztő inicializálja az adattárat a git init paranccsal, a Git létrehozza a rejtett .git mappát a projekt gyökerében.

Ezen mappán belül található az összes objektum, hivatkozás és konfigurációs fájl, amely a rendszer működéséhez szükséges. Az adattár nincs konkrét helyhez kötve — a fejlesztő létrehozhatja lokálisan, majd csatlakoztathatja egy távoli szerverhez.

A Git az elosztott adattár modelljét használja: a projekt minden résztvevője teljes előzménymásolattal rendelkezik a saját számítógépén. Ez azt jelenti, hogy a műveletek többsége — commit, előzmények megtekintése, ágak létrehozása — lokálisan történik a szerver megkeresése nélkül.

A Git dokumentációja szerint az elosztott architektúra ellenállóvá teszi a rendszert a hibákkal szemben: ha a szerver meghibásodik, bármely lokális adattár forrásul szolgálhat a projekt teljes előzményének helyreállításához.

Lokális és távoli adattár

Lokális adattár — a projekt másolata a fejlesztő számítógépén. Tartalmazza a commitok, ágak és címkék teljes előzményét, és lehetővé teszi a commit, branch, merge és rebase műveletek végrehajtását hálózati kapcsolat nélkül.

Távoli adattár egy szerveren található, és szinkronizációs pontként szolgál a csapat összes tagja számára. A fejlesztők a git push paranccsal küldik el változtatásaikat, és a git pull paranccsal töltik le mások változtatásait.

A lokális és távoli adattár közötti kapcsolat a remote origin — a Git konfigurációjában tárolt szerver URL — segítségével állítható be. Egy lokális adattár több távoli adattárhoz is csatlakoztatható, ami forkokkal való munka során hasznos.

Ennek a modellnek a fő előnye, hogy a fejlesztő offline módban dolgozhat a kódon, és csak akkor szinkronizálja a változtatásokat, amikor kész az eredmény elküldésére.

Különbségek a lokális és távoli adattár között

JellemzőLokálisTávoli
ElhelyezkedésA fejlesztő számítógépénSzerveren (GitHub, GitLab)
Hálózat nélküli hozzáférésTeljes hozzáférés minden művelethezKapcsolat nélkül nem érhető el
SzinkronizálásPush/Pull a távolivalFogadja a push-t a lokálistól
Biztonsági mentésNincs védve az adatvesztéstőlSzerveren tárolva biztonsági mentésekkel

Hogyan tárolja a Git az adatokat az adattárban

A Git tárolási modellje alapvetően különbözik más verziókezelő rendszerektől. A verziók közötti változáslista (delTák) tárolása helyett a Git a projekt összes fájljának teljes pillanatképét tárolja minden commit alkalmával.

Az adattárban lévő minden objektumot egy egyedi, 40 karakter hosszú SHA-1 hash azonosít. Ha a fájl tartalma nem változott a commitok között, a Git nem hoz létre új objektumot, hanem újra felhasználja a meglévőt — ez helyet takarít meg.

A Git négy objektumtípust használ: blob (fájltartalom), tree (könyvtárszerkezet), commit (pillanatkép metaadatokkal) és tag (elnevezett hivatkozás egy commitra). Minden objektum a .git/objects mappában tárolódik.

A Git Internals szerint a Git objektummodellje biztosítja az adatok integritását: a fájltartalom bármilyen változása új hash-t eredményez, ami lehetetlenné teszi az előzmények észrevétlen módosítását.

A .git mappa szerkezete

A .git mappa — az adattár szíve. Nélküle a Git nem tudja nyomon követni a változásokat, és egy hétköznapi könyvtár csak fájlok gyűjteménye marad. Ennek a mappának a szerkezetének megértése segít az adattárral kapcsolatos problémák diagnosztizálásában.

  • objects/ — az adattár összes objektuma: blobok, fák, commitok, címkék. Tömörített formában tárolva.
  • refs/ — hivatkozások commitokra: heads (ágak), tags (címkék), remotes (távoli ágak).
  • HEAD — fájl, amely a jelenlegi aktív ágra vagy commitra mutat.
  • config — az adattár beállításai: távoli URL, felhasználónév, e-mail és egyéb paraméterek.
  • index — staging area (index), ahol a Git tárolja a commitra előkészített fájlok adatait.
  • logs/ — hivatkozásfrissítési naplók (reflog), amelyek a HEAD és az ágak mozgásának előzményeit tárolják.

A HEAD fájl külön figyelmet érdemel. Normál állapotban szimbolikus hivatkozást tartalmaz egy ágra, például ref: refs/heads/main. Detached HEAD állapotban közvetlenül egy commitra mutat — ez azt jelenti, hogy az új commitok nem lesznek egyetlen ághoz sem kötve.

Alapvető műveletek az adattárral

A Git-adattárral való munka olyan alapvető műveletek sorozatát foglalja magában, amelyeket a fejlesztő naponta végez. Minden művelet megváltoztatja az adattár állapotát, új objektumokat adva hozzá vagy hivatkozásokat mozgatva.

  • git init — új üres adattárat hoz létre az aktuális könyvtárban. A Git létrehozza a .git mappát a kezdeti szerkezettel.
  • git clone — egy meglévő távoli adattárat másol a lokális gépre a commitok teljes előzményével együtt.
  • git add — hozzáadja a fájlváltoztatásokat a staging area-hoz (indexhez), előkészítve azokat a commithoz.
  • git commit — pillanatképet készít a projektről az index adatai alapján, és új commit objektumként tárolja.
  • git push — új commitokat küld a lokális adattárból a távoliba, frissítve az ágakat a szerveren.
  • git pull — új commitokat tölt le a távoli adattárból, és egyesíti azokat a jelenlegi lokális ággal.

A push és pull műveletek — az egyetlenek, amelyek kapcsolatot igényelnek a távoli szerverrel. Az összes többi művelet teljesen lokálisan történik, ami nagy munkasebességet biztosít még nagy előzmény esetén is.

Fájl életciklusa az adattárban

Az adattárban lévő minden fájl négy állapoton megy keresztül: untracked (nem követett), modified (módosított), staged (előkészített) és committed (commitolt). A Git csak azokat a fájlokat követi, amelyeket explicit módon hozzáadtak a git add paranccsal, vagy már szerepelnek a commitelőzményekben.

Ennek a modellnek a megértése — a hatékony Git-munka kulcsa. A fejlesztő szelektíven csak a módosított fájlok egy részét készítheti elő commithoz, logikailag teljes commitokat létrehozva egyértelmű leírásokkal.

A távoli adattárakat általában speciális platformokon tárolják, amelyek webes felületet, hozzáférés-kezelő rendszert és további eszközöket biztosítanak a közös fejlesztéshez.

  • GitHub — a legnagyobb platform több mint 100 millió adattárral. Actions, Pull Requests, Issues és Wiki funkciókat kínál. Nyilvános projektek számára ingyenes.
  • GitLab — integrált CI/CD-vel, Container Registry-vel és beépített DevOps pipeline-nal rendelkező platform. SaaS és self-hosted verzióban is elérhető.
  • Bitbucket — az Atlassian megoldása Jira és Trello integrációval. A rugalmas hozzáférési beállításoknak köszönhetően népszerű a vállalati környezetben.

A platform kiválasztása a csapat méretétől, az adatvédelmi követelményektől és a szükséges integrációktól függ. Mobilos fejlesztéshez gyakran a GitHub-ot választják a széles körű közösségi támogatás és az iOS-hez és Androidhoz készült CI/CD eszközökkel való integráció miatt.

Példák parancsokra az adattárral való munkához

Vizsgáljunk meg egy gyakorlati forgatókönyvet: egy fejlesztő klónoz egy meglévő adattárat, létrehoz egy új ágat, változtatásokat hajt végre, és elküldi azokat a szerverre. Minden parancs bemutatja az adattár különböző összetevőivel való munkát.

bash
# Távoli adattár klónozása
git clone https://github.com/user/mobile-app.git

# Átlépés a projekt könyvtárába
cd mobile-app

# Új feature ág létrehozása és arra váltás
git checkout -b feature/auth

# Módosított fájlok állapotának ellenőrzése
git status

# Összes változtatás hozzáadása a staging area-hoz
git add .

# Commit létrehozása leírással
git commit -m "Add authentication module"

# Változtatások elküldése a távoli adattárba
git push origin feature/auth

A git status parancs — az egyik leghasznosabb a mindennapi munkában. Megmutatja, hogy mely fájlok módosultak, melyek készültek fel a commithoz, és melyeket nem követ a Git egyáltalán.

Commitelőzmények megtekintése

Az adattár előzményeinek elemzéséhez a git log parancsot használjuk különböző formázási jelzőkkel. Megjeleníti a commitok időrendjét, azok szerzőit, dátumait és SHA-1 azonosítóit.

bash
# Előzmények megtekintése az ággráf vizualizációjával
git log --oneline --graph --all

# Változtatások megtekintése egy adott commitban
git show a1b2c3d

# Aktuális állapot összehasonlítása az utolsó committal
git diff HEAD

# Egy adott fájl előzményeinek megtekintése
git log --follow src/MainActivity.kt

A --graph jelző ASCII-gráfot jelenít meg az elágazásokról, ami különösen hasznos a több ágban aktívan dolgozó adattárakban. A gyakori kiadásokkal rendelkező mobilprojektek esetében a vizuális gráf segít gyorsan felmérni a fejlesztési struktúrát.

Gyakran Ismételt Kérdések

Miben különbözik az adattár a projekttől?

Adattár — a kód technikai tárháza változástörténettel. Projekt — tágabb fogalom, amely magában foglalja az adattárat, a feladatkezelő rendszert, a dokumentációt és a fejlesztési folyamatokat. Egy projekt több adattárat is tartalmazhat.

Hogyan hozhatok létre adattárat a GitHubon?

Hozzon létre egy új adattárat a GitHub webes felületén a New gombra kattintva. Adja meg a nevét, leírását és hozzáférési szintjét. Ezután klónozza az adattárat a lokális gépre, vagy csatlakoztasson egy meglévő lokális adattárat a git remote add origin paranccsal.

Visszaállítható egy törölt adattár?

Ha a távoli adattárat törölték a szerverről, de legalább egy fejlesztő rendelkezik lokális másolattal, az adattár visszaállítható. Elég létrehozni egy új távoli adattárat, és végrehajtani a git push --force parancsot a lokális másolatból a teljes előzménnyel.

Mi az adattár fork-ja?

Fork — egy másik személy adattárának másolata az Ön fiókjában. Teljes előzménymásolatot kap, és bármilyen változtatást végrehajthat anélkül, hogy az eredeti befolyásolná. A fork-okat a Pull Requesteken keresztüli open-source projektekben való részvételre használják.

Hogyan csökkenthető az adattár mérete?

Használja a git gc parancsot az objektumok tömörítésére és az elérhetetlen adatok eltávolítására. Távolítsa el a nagy fájlokat az előzményekből a git filter-branch vagy a git filter-repo segítségével. Bináris fájlokat tartalmazó projektekhez fontolja meg a Git LFS (Large File Storage) használatát.

Összegzés

  • Git-adattár — a kód tárháza teljes változástörténettel, ahol minden commit a projekt összes fájljának pillanatképe egy adott időpontban.
  • Lokális adattár a fejlesztő számítógépén tárolódik, és hálózati kapcsolat nélkül támogatja a Git-műveletek teljes körét.
  • Távoli adattár push és pull segítségével szinkronizálja a csapat munkáját, egységes igazságforrást biztosítva minden résztvevő számára.
  • A .git mappa tartalmazza az összes szolgáltatási információt: objektumokat, ághivatkozásokat, konfigurációt és a reflog műveleti naplót.
  • GitHub, GitLab és Bitbucket — a fő platformok távoli adattárak tárolására további CI/CD-eszközökkel.
  • A Git objektummodellje SHA-1 hash-eket használ az egyes objektumok azonosítására, garantálva az adattár adatainak integritását.
  • Javaslat: minden nap legalább egyszer commitáljon, és minden befejezett munkafázis után szinkronizáljon a távoli adattárral.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is