Jethro's Braindump

Git

TODO Understanding Git Conceptually

TODO GitHub - pluralsight/git-internals-pdf: PDF on Git Internals

Git Internals

Content of .git folder

Git stores snapshots (exact content of the files) at the point of a commit.

ls .git

The content is stored in the objects sub-directory. There are 4 kinds of objects:

blob
used for storing the contents of a single file
tree
contains references to other blobs or subtrees
commit
contains reference to another tree object and some other information (author, committer etc.)
tag
Another reference to a commit object

Git Branching Models

A successful Git branching model » nvie.com

VFS for Git

VFS for Git is a virtualized filesystem used to bypass assumptions about repository size, allowing Git repositories to scale up to large repositories.

With GVFS, an initial clone downloads a set of pack-files containing only commits and trees. These objects are sufficient for generating a view of the working directory, and examining the commit history with git log.

GVFS allows dynamically downloading objects as needed.

Links to this note