I have been using GitHub as the starting point for teaching Git in the last three Software Carpentry classes that I lead. Still working this out but in a nut shell we start on GitHub, set up an account, do the “Hello World” lesson provided by GitHub, move to the desktop and use the GitHub desktop tool, and then look at command line Git (but very little here). The reasons for this are the relevant points already brought up plus a number of additional bonuses: It goes a long way towards removing this experience: xkcd-1597
Related to the xkcd point: no one cries anymore (Seriously, I’ve been in workshops where users have become so frustrated with Git that they have cried and almost left). There is no question of relevance because what they get from it is a public repository where they can immediately share their content with colleagues. No one needs to put up a blog post or any other sort of personal or revealing thing. GitHub now has the ability to give DOIs which means that repositories can be cited which is important for researchers. The actual flow of what is happening makes more sense to participants because they can actually see what is happening without remembering “a bunch of text” that for many of them is not a familiar experience. The other guides on the GitHub site are also very good and useful and this sets them up for those. The ability to turn your content into a website has been flagged as being attractive (although currently I don’t go down this path, just point it out as we are focusing on version control). This workflow more closely represents the actual work flow for many of the Social Sciences, Humanities, and Libraries researchers that the sessions I lead are usually targeted towards. Users seem much more likely to actually use some form of version control which is the point of this part of the workshop. Of course there are some downsides: There is no Linux version of GitHub Desktop, making it the case that Linux users in the class have a few moments of watching others do something that they simply can’t. It isn’t possible to revert commits on GitHub, only pulls. You need either the desktop or the command line tool for reverting commits. While users seem to get a better understanding of the overall flow of commits, reverts, pulls, etc. there is a technical competence that is lost in doing these outside of the command line (This said I’m not convinced it can be achieved in just a 1/2 day doing Git on the command line either). It is really an implicit endorsement of GitHub, which is a commercial site. So, still exploring this but at the outset it seems promising because participants leave with version control tools and concepts that they are, on the whole, more inclined to actually use regardless of their research background. -John John Simpson Ph.D. Digital Humanities Specialist Spécialiste des Humanités Numériques [email protected] (t) 780.248.5872 (f) 778.782.3592 155 University Ave., Suite 302, Toronto, ON, M5H 3B7 www.computecanada.ca / www.calculcanada.ca @ComputeCanada >
_______________________________________________ Discuss mailing list [email protected] http://lists.software-carpentry.org/listinfo/discuss
