Hacker News new | past | comments | ask | show | jobs | submit login

The thing with git is that learning the general idea of the internals is not enough. You can learn enough about git to visualize a DAG of nodes identified by hashes, but what does that get you? You still have a thousand higher-level commands that build on top of it, and for each of those you have to learn how what it does translates into nodes and hashes.

The higher level commands are not individually leaky abstractions. But you can't connect them at a higher level of abstraction. In order to understand how "git foo" relates to "git bar", you go through the lower layer.

So git has you learn:

  1. The fundamentals.
  2. A thousand higher-level commands.
  3. How each of the higher level commands translate into the fundamentals.
Version control is supposed to be a tool to help me, to take away chores so that I can focus on other, more interesting, things. This is not something I want to invest a lot of time on. Even as software developer, most of time when I use software I'm just a user, and I want the tool to do its job and get out of the way.

Car analogy: I drive cars and leave the rest to the mechanics.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: