3 ms·
Git is hard because it has no client. It's a set of primitives for building one. The "client" is your knowledge of its data model, mental mapping of obtusely n
by bulatb 6y ago
Git is hard because it has no client. It's a set of primitives for building one.
The "client" is your knowledge of its data model, mental mapping of obtusely named commands and flags to things you want to do, and ability to visualize/predict the outcome.
This isn't clear to learners because git manipulates a flowchart with a CLI—a graphical activity misrepresented and disserved by its nongraphical interface. It isn't obvious they need to do the work themselves the software could be doing for them, or that they're working at a different level of abstraction than they think.
Teaching the model first, before the commands or anything else, can prevent a lot of confusion.