A Git blob contains raw file data. File names, modes and placement are stored by tree objects that point to the blob's object ID.
Because blobs are content-addressed, identical file content can be reused across directories, branches and commits. Metadata such as renames is inferred from repository history rather than stored in the blob.
