4 ms·
What do you think is a great way to teach git? Let's say for first-year CS students.
by kyawzazaw 6y ago
What do you think is a great way to teach git? Let's say for first-year CS students.
- BiteCode_dev 6y agoI use a toy for 5 years old, that let you construct a 3D structure with magnets, to represent the history, and I stick colored post its on it to represent references. Important points: - git log and checkout must be explained in details, as they are a huge source of confusion. - don't use the famous graphs with revert arrows, they confuse the heck of students - explain push/pull/clone as late as you can. Most of the course should be on a local repo. - help them setup diff tools for their particular env. It's harder than you think given the diversity of them. - you will often have to explain ssh and key management as well. It's not git, but git is close to useless without it. For windows users, you may have to spend an hour of terminal tutorial, putty or not. Use cmder or windows terminal, not cmd.exe. - do give them a cheat sheet, but only incrementally once they understand the concepts behind them, otherwise they will copy/paste blindly. - teach them to have a clean working copy before some key operations, and show them why. - make a big final exercice where they all work on the same code base and push/pull/merge from each others. Twice. Once where you help them. Once to check they can do it now without your help. - rebase, squash and cherry pick are optional. Do them only if you have plenty of time at the end, and that the rest is well understood.
- graphpapa 6y agoThis deserves its own blog post