< Git

Git objektumok

Szerző: Sallai András

Copyright © 2023, Sallai András

Licenc: 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:

Minden objektum kap egy azonosítót:

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 <filename>

Az objektum lekérdezése:

git cat-file -p <blob_hash>

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

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"

Objektumok lekérdezése

git cat-file -p <commit_hash>
git cat-file -p <tree_hash>
git cat-file -p <blob_hash>

Tag objektum

A commitok címkézésre tag objektumokat hozhatunk létre.

Lekérdezés:

git cat-file -t <hash>

Index objektum

Az objektumok indexét tároló index objektum.

Források

https://git-scm.com/book/en/v2/Git-Internals-Git-Objects (2023)