Open asoplata opened 8 years ago
(I'm assuming github_model.md is going to constitute the main presentation? Because I can't see any other non-README files)
Other PRs for other bits. Still in progress.
Haven't read the rest. Thanks for the comments.
@asoplata Any comments on #8? It's a kind of informal discussion chunk, so working your points into it may be appropriate. Otherwise, feel free to add a PR with a new lesson topic. We may not (almost certainly won't) get to it tonight, but it would be nice if this repository becomes a resource for more than just the length of the presentation.
(I'm assuming
github_model.md
is going to constitute the main presentation? Because I can't see any other non-README files)Terminology / More basic basics
The terminology of Git is notoriously obtuse (as are the man pages), and people may want clarification on terms / what is actually going on / why are you doing X, and how does X factor into the greater mental model of a Git tree -- from the perspective of someone who's never seen Git before.
This Intro to Git for Scientists web presentation has lots of pretty pictures illustrating some of the basics (though it goes into great detail that's potentially skippable). Until much later in the presentation, this is less "for scientists" and more "intro to git".
John McDonnell's Git for Scientists: A Tutorial has lots of pretty pictures, most of which may have been taken from www.git-scm.com , illustrating the underlying workings of Git, but also the essential use process.
Depending on time and audience-expertise level, more terminology explanation may take up too much time.
Why Use Git/GitHub?
I was made uncomfortable by my inability to convince Yohan that it's useful for scientists. Very uncomfortable (although part of that is it sounds like he'd ALREADY CODED snapshot/commit-saving per paper, to keep a reproducible and accurate script available in backup in order to reproduce analysis/figures. I doubt most scientists have that, and the easiest way to get there is Git IMHO.).
Here is a good stackoverflow Q&A about using it in scientific programming and another (though the file-efficiency answer doesn't apply to Git).
Some of the reasons I can come up with:
analysis = true
that hosed all the analysis you've performed for the past 2 months of the experiment, Git would save you (assuming you're committing at reasonable intervals as you develop code).git blame
command!git checkout er5342
and bam - all the code is now just as it was. Furthermore, if you're not sure where in the history you want but you know which file, this stackoverflow thread goes over many different ways to do this, all of which come out-of-the-box from git.git diff
-- how different are these commits from each other? How different is this version of this file in this commit vs. another commit?I can't think of any more "main" reasons yet. If people want me to proselytize on this issue at the CNSO thing then I can do that, although I'm not sure what I would do about visual aids for these.