Ez a jegyzet a https://www.eet.bme.hu/~timar/data/git.pdf linken található diasorból kiindulva íródott.

Mi az a verzió kezelés?

A verziókezelő rendszerek / Version Control (VC) projektek különböző verzióinak (változatainak) nyilvántartására és kezelésére szolgálnak.

A Git működése dióhéjban

A Git egy elosztott verziókezelő rendszer (Hasonlóan pl. a Mercurialhoz)→ nem hagyatkozik egy központi szerverre. Nincs single point of failure 🤩

A teljes verziótörténet megtalálható minden fejlesztő gépén.

Az internetkapcsolat csak arra kell, hogy szinkronizáljuk a különböző fejlesztők munkáját.

Ilyenkor valamilyen hálózaton előrhető távoli repository-ba (tárolóba) kerül a projektünk új verziója.

Innen a többi fejlesztő letöltheti a munkánk.

Egy új verziót **commit-**nak nevezünk. Ez a változtatás alapegysége, hogyha úgy tetszik.

A commitok sorozata a branch, azaz ág.

Lehetség van párhuzamosan több fejlesztési ág számontartására.

Ez azt jelenti, hogy egyszerre több fejlesztő is dolgozhat egy projekten.

Így a commitok branch-ekbe rendeződve egy irányított fa gráfot alkotnak.

Annak érdekében, hogy a repository kezelése ne legyen túl erőforrásigényes, a git snapshotok láncolatát tárolja. Hogyha elkészül egy új verzió, de egy adott fájl ebben a verzióban nem módosult az előzőekhez képest, akkor ennek a fájlnak az előző olyan változatára hivatkozik, ahol megváltozott.

Minden verzióról ellenőrző összeg (checksum) készül.

Pl.: 24b9da6552252987aa493b52f8696cd6d3b00373