4 ms·
It's helpful to understand git in terms of the "porcelain" and the "plumbing". The git commands you know and love are largely the porcelain, nice fixtures over
by AaronFriel 6y ago
It's helpful to understand git in terms of the "porcelain" and the "plumbing".
The git commands you know and love are largely the porcelain, nice fixtures over other things. When you "git cherry-pick", under the hood what it's actually doing is querying that commit's parent(s), finding the diff the commit introduced relative to its parent(s), and then applies those same changes to the index and your working tree.
Cherry-pick is porcelain on top of the plumbing.
There are a few "write git yourself" tutorials out there, of which "Write yourself a Git!" is I think the most popular. In it, you'll learn how git really stores data, and you'll write a (fairly basic) git client that can do several things to locally manage a repository.
Write yourself a Git!: https://wyag.thb.lt/ https://wyag.thb.lt/