Hacker News new | ask | show | jobs
by jamesmontalvo3 1691 days ago
If your git history were a tree: cherry picking is ripping a leaf off and gluing it some arbitrary place on the tree, fast-forwarding is ripping the leaf off and moving it to the end of the branch it’s on, and rebasing is ripping a branch off and gluing it somewhere else.

EDIT: cherry picking is actually making a copy of the leaf and gluing it elsewhere. And fast forwarding isn’t really moving the leaf, it’s taking the leaf you call BRANCHNAME and now calling a leaf further up the branch BRANCHNAME.

1 comments

Yeah, all these are useful to prune the bonsai. It matters more when the project is big or has lots of branches, of course, but they have benefits even for a single developer.