Hacker News new | ask | show | jobs
by Sr_developer 1835 days ago
For me almost every Git teaching resource has gone like this:

Step 1.It is explained that Git is a simple program, and that the underlined idea can be understood easily, it is only that other materials have done a bad job about it.

Step 2. Tell the reader a blob is just the byte object containing the information you are source-controlling. "See how easy it is?"

Step 3. Invent their own nomenclature/diagrams/metaphors for all the other concepts, totally muddling the waters.

Step 4. Become one of the resources criticized on Step 1.

2 comments

One day I'd like to break this circle. I've been doing 2-day Git workshops with a colleague for a few years now, and "to internals or not to internals" is our constant disagreement. I don't like talking about blobs, trees and anything below the "commit hash" level because I almost never need it myself.

My other personal issue is the complete opposite of the "going way too deep into details" teaching resources: showing clone/commit/push/pull and calling it a day. This leads to resources like ohshitgit.com as things will eventually break when people use commands without understanding what is happening.

When doing our workshops, we go through the basics: what is a commit, what is a branch, what is HEAD, what do commands like checkout/reset/rebase do on graph level. This approach demistifies Git without going into internals. It also takes away the fear of "advanced" topics (like "rewriting" history)

Do you have slides or other resources from your workshops you’d be willing to share?
Unfortunately, those resources are company-internal. But I'm planning to create a public resource based on my experience of doing those workshops, without falling into the trap mentioned by GP.
I also take this middle ground, seems to work well for most students
Our IT department refuses to give an introduction to git. Smart guys.