Where is all of the Git repository data stored for a project (in the filesystem)?
At the root of your project in the .git directory
The term blob is a contraction of what?
Binary large object
What are the two main data structures that Git stores in the .git directory at the root of your project?
The object store and the index
Of the two primary data structures managed by Git, which is designed to be efficiently copied during a clone?
The object store
Of the two primary data structures managed by Git, which is private to a repository?
The index
What are the four types of objects in the Git object store?
Blobs, trees, commits, and tags
What are the four atomic data types that form all of Git's higher level data structures?
Blobs, trees, commits, and tags
Git represents every version of each file as what type of object?
Blob
What is a common term in computing that refers to a variable or file that can contain any data and whose internal structure is ignored?
Blob
What does a Git blob represent?
A file
Does a Git blob representing a file have the file's name?
No, the blob has no metadata about the file, only the file's data
What does a Git tree object represent?
A directory
What does a Git commit point to that represents the snapshot of the repository at the time the commit was performed?
A tree
What does a Git commit represent?
Metadata about a change introduced into the repository (author, date, log message)
What does a Git tag represent?
An arbitrary name assigned to a different Git object
What Git object represents one level of directory information?
A tree
Since a Git tree object represents a directory which can contain files and directories, what two types of Git objects does a Git tree reference?
Trees and blobs
What Git object holds metadata for each change introduced into the repository like author, commit date, and log message?
Commit
Each Git commit points to what type of object that captures a complete snapshot of the repo at that commit?
A tree
What is the Git commit that has no parent?
The initial/root commit
Can a Git commit have more than one parent?
Yes
What is the Git object type that assigns an arbitrary name to another Git object?
A tag
What type of files does Git use to make use of disk space efficiently, that involve computing diffs between similar files instead of storing every version of every file?
Pack files
What is the temporary and dynamic binary file used by Git that describes the entire structure of the repo, is where changes are staged, and plays an important role in merges?
The index
What are the two primary data structures managed by Git within a Git repository?
The object store and the index
How many bits is a SHA1 value?
160 bits
SHA1 values are usually represented by hexadecimal numbers with how many digits?
40
Why is the SHA1 hash used by Git essentially a globally unique identifier?
Even the tiniest change in the file content will cause it its value to change
What data type is at the bottom of the Git data structure and its objects do not reference anything?
Blobs
What Git data types do tree objects point to?
Trees and blobs
How is it that the same Git tree can by pointed to by different commits?
The content of the repo can be the same for multiple commits
Previous card
First card
Random order
Next card