1 Version control is the most important practical skill we introduce.
2 By the end of 90 minutes, the instructor should be able to get
3 learners to fetch upstream updates, make local edits, and submit their
4 changes upstream and why that's a good way to structure development.
6 Provided there aren't network problems, this entire lesson can be
12 * Make sure the network is working *before* starting this lesson.
14 * Give learners a ten-minute overview of what version control does for
15 them before diving into the watch-and-do practicals. Most of them
16 will have tried to co-author papers by emailing files back and
17 forth, or will have biked into the office only to realize that the
18 USB key with last night's work is still on the kitchen table.
19 Instructors can also make jokes about directories with names like
20 "final version", "final version revised", "final version with
21 reviewer three's corrections", "really final version", and, "come on
22 this really has to be the last version" to motivate version control
23 as a better way to collaborate and as a better way to back work up.
25 * Learners could do most exercises with repositories on their own
26 machines, but it's hard for them to see how version control helps
27 collaboration unless they're sharing a repository with other
28 learners. In particular, showing learners who changed what using
29 `blame` is only compelling if a file has been edited by at least two