The Git Learning Curve
Git is simple until it's not. Students grasp add, commit, push quickly. Then they hit their first merge conflict and the illusion shatters. The DAG model, remote tracking branches, rebasing—these concepts don't fit in a 2-hour workshop.
You can't teach Git in an afternoon. You can teach enough Git to be dangerous.
The Workshop Format
I developed a specific rhythm for Git workshops:
- Concept (5 min): Why version control matters
- Demo (10 min): Instructor live-codes the basics
- Exercise (20 min): Students work in pairs
- Share (10 min): Groups present solutions
- Repeat: Next concept
The key: never more than 15 minutes of talking. Students learn Git by doing Git.
git-intro-slides
I built git-intro-slides—a reveal.js presentation with embedded terminal recordings. Students could follow along at their own pace, rewind the demos, and focus on concepts instead of typing speed.
workshop-guestbook
The biggest challenge: students need a safe repository to break. I created workshop-guestbook—a repo where every student adds their name via pull request. It teaches:
- Forking
- Branching
- Pull requests
- Merge conflicts (inevitable and educational)
By the end, students have made a real contribution to a real project. The dopamine hit of seeing "Merged" on their PR is worth more than any slide.
Lessons Learned
After 500+ students across a dozen workshops:
- Start with GUI: GitKraken or GitHub Desktop reduces initial friction
- Embrace failure: Conflicts are teaching moments, not emergencies
- Context matters: CS students want theory; bootcamp students want jobs
- Follow-up: One workshop isn't enough; create a community for continued learning