[[oktatas:programozas:verziokontroll:git|< Git]] ====== Git objektumok ====== * **Szerző:** Sallai András * Copyright (c) 2023, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Objektumok ===== Az add és a commit esemény után 3 objektum jön létre: * blob * tree * commit Minden könyvtárhoz létrejön egy tree objektum, és minden állományhoz létrejön egy blob objektum: {{:oktatas:programozas:verziokontroll:git:git_adatmodell.png?400|}} Minden objektum kap egy azonosítót: {{:oktatas:programozas:verziokontroll:git:git_adatok.png?500|}} ===== A git add ===== Létrejön: * blob objektum Az összes lekérdezése: git ls-files --stage Egyetlen fájl lekérdezése: git ls-files --stage Az objektum lekérdezése: git cat-file -p {{:oktatas:programozas:verziokontroll:git:git_blob_objektum.png?270|}} ===== A git commit ===== Létrejön: * tree objektum * commit objektum A commit objektumok hash értékének lekérdezése: git log git log --oneline A tree objektum hash értékének lekérdezése: git log -1 --pretty=format:%T git log --pretty=format:%T {{:oktatas:programozas:verziokontroll:git:git_commit_tree_blob_objektum.png?600|}} ===== Példa ===== echo alma > egy.txt git add egy.txt git commit -m "commit 1" echo szilva > egy.txt echo körte > ketto.txt git add egy.txt git add ketto.txt git commit -m "commit 2" echo barack > harom.txt git add harom.txt git commit -m "commit 3" {{:oktatas:programozas:verziokontroll:git:git_objektumok.png?600|}} ===== Objektumok lekérdezése ===== git cat-file -p git cat-file -p git cat-file -p ===== Tag objektum ===== A commitok címkézésre tag objektumokat hozhatunk létre. Lekérdezés: git cat-file -t ===== Index objektum ===== Az objektumok indexét tároló index objektum. ===== Források ===== * https://git-scm.com/book/en/v2/Git-Internals-Git-Objects (2023)