ਅੰਦਰੋਂ, Git ਇੱਕ content-addressable object store ਹੈ — ਇਹ ਸਭ ਕੁਝ objects (blobs, trees, commits, tags) ਦੇ ਰੂਪ ਵਿੱਚ ਸਟੋਰ ਕਰਦਾ ਹੈ ਜੋ ਉਹਨਾਂ ਦੇ SHA-1 hash ਦੁਆਰਾ ਪਛਾਨੇ ਜਾਂਦੇ ਹਨ। ਇਸ ਮਾਡਲ ਨੂੰ ਸਮਝਣਾ Git ਨੂੰ ਦਸਿਆ-ਰਹਿਤ ਕਰਦਾ ਹੈ ਅਤੇ ਸਮਝਾਉਂਦਾ ਹੈ ਕਿ ਇਸਦੀਆਂ ਕਾਰਵਾਈਆਂ ਕਿਉਂ ਇਸ ਤਰ੍ਹਾਂ ਵਰਤਾਓ ਕਰਦੀਆਂ ਹਨ।
Git ਇੱਕ content-addressable object store ਹੈ
Git stores 4 types of OBJECTS, each identified by the SHA-1 HASH of its content:
BLOB → file CONTENTS (just the data, no filename)
TREE → a directory: maps names → blobs (files) and trees (subdirs) + permissions
COMMIT → a snapshot: points to a TREE (the root) + parent commit(s) + author/message
TAG → an annotated tag object (points to a commit, with metadata)
→ Content-addressable: an object's ID IS the hash of its content (same content = same hash).
