15 comments
@b0rk Would it be possible to provide a text version of this somewhere? This is a terrific explanation and I think it should be more accessible. - Packbats 🎒 @b0rk I'll have you know you just cost me, like, one and a half cents, because I _immediately_ printed this out. @leeloo yeah merges are commits with multiple parents! pack files are a storage optimization for storing objects (commits, trees, blobs). I left it out because it’s really an implementation detail /optimization IMO and like you said diffs aren’t stored in .git, they’re computed on the fly @b0rk thank you! I’ve rarely looked in that directory, but nice to know how it is laid out @b0rk great information, as always! Thank you for creating and sharing! Maybe interesting in that context: some time ago I experimented with what the most minimal .git folder would look like and still be recognized by #git: https://manuel-strehl.de/minimal_git_folder @massimolauria yeah but it’s really okay because periodically git will do a “garbage collection” pass where it combines similar files into one big “pack file” in a more efficient way. i didn’t talk about that part because it’s just a storage optimization and usually doesn’t affect how you use git @b0rk this is making me want to finally sit down and work through https://shop.jcoglan.com/building-git/ where you build a simplified working git clone @b0rk great content! (As always). I recently found https://pre-commit.com/ as a really useful tool for distributing coding standards inside a git repo. A bit different than what your current content, but one of worst sort of merge conflicts on teams is formatters gone rogue, IMO. |
@b0rk You are a treasure, and I will stop saying "This is brilliant" because I'd end up doing that for every cartoon you post but - wow.