Hacker News new | ask | show | jobs
by Terr_ 838 days ago
I've heard git described not as a version-control program, but as a toolkit for making a version-control program.

Which makes sense--it explains why sometimes there's no obvious "right" way to do things, and why there are spots where either there is no abstraction or it's pretty leaky in terms of implementation details.

1 comments

I felt I fully understood git after I realized it was just a data structure.

The data structure isn't even complicated (there are commits, and then there are directories and files associated with the commits), and once I understood the tooling (i.e. git commands) in terms of how it manipulated the data structures, I was basically able to do whatever I intended to on the repo.

I mostly agree, but once you understand it, a new frustration emerges: "why can't I just do X on this graph?"