3 ms·
Speaking of git’s plumbing, https://news.ycombinator.com/item?id=33566991 https://news.ycombinator.com/item?id=33566991 is the best guide I’ve found. It made ev
by sillysaurusx 4y ago
Speaking of git’s plumbing, https://news.ycombinator.com/item?id=33566991 https://news.ycombinator.com/item?id=33566991 is the best guide I’ve found. It made everything simple. I didn’t realize git is just a list of blobs and trees, and that’s it. And when other people said that, I didn’t understand the meaning.
Blobs = any file, keyed by sha1. Also commits (pointer to a tree). Also trees (list of blobs).
Refs (aka branch): points to a specific commit.
I bet notes are just a blob that points to a commit.
- bombcar 4y agoIt's way too easy to get caught up in how the data is de-duped on disk, but git is much more like a giant pile of zip files that you might think.
- metadat 4y agoThis earned a resubmitted: https://news.ycombinator.com/item?id=33767014 https://news.ycombinator.com/item?id=33767014
- masklinn 4y ago> I bet notes are just a blob that points to a commit. That would make them unusable, as you’d have to read all the notes to know if a commit has one. The notes message is a blob, but the note itself is a tree entry (the name of the entry is the commit being pointed to / annotated).