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

Reply via email to