We are in the process of making the making the Montage mosaic engine accessible through GitHub, so it was good timing to attend the workshop on Collaborating With GitHub at the 225th American Astronomical Society (AAS) meeting in Seattle, WA (Jan 4-8, 2015). The class was attended by about 25 people, and taught by Arfon Smith, Matthew McCullough, and Gus Muench. I will refer readers as much as possible to on-line resources and training materials that they can follow to get started with GitHub, rather than describe the details of the class. The material we covered can also be reviewed in Arfon Smith’s on-line slides at https://training.github.com/kit/foundations/index.html?teacher=arfon.
Set-up for the class was straightforward (I believe this is a standard set-up for GitHub training) and is described at https://training.github.com/articles/github-class-prerequisites/. It involves establishing a GitHub account, install the Git Command Line and Desktop Program for your machine, and, optionally , reading the first few chapters of the free ProGit book.
The class itself involved the following topics:
- Introduction to Git and GitHub.
- Paper and analysis workflows (discussion of complexities in collaborative workflows and how they might benefit from incorporation in workflows)
- Collaborative changes (working with partners to edit documents)
- Richer collaboration (e.g. permissions)
- Advanced topics (how GitHub plugs into existing tools).
GitHub is a powerful tool for collaboration, including writing papers as well as developing code. Chapter 3 of the ProGit book tells you about the mechanisms for doing this – creating push and pull requests, using fork to create your own copy, and monitoring the project for changes.
One of the most interesting topics I learned about was how GitHub plugs into powerful tools. The example we studied was integration into ShareLatex, an on-line collaborative LaTeX editor. Learn how to connect it your GitHub account at https://www.sharelatex.com/github/