A Friendly Github Intro Workshop
Prepared for UBC, Vancouver, March 2016 & Forked for University of Cambridge, July 2016
Updated at University of Cambridge, January 2017
Updated for MozFellows Bruno and Kirstie's MicroWOW, April 2017
Welcome!
This is a friendly introduction to Github – a free and open source platform that can help you build projects that are collaborative, well documented, and version-controlled.
In this workshop we will introduce you to the Github ecosystem and help you get you comfortable navigating basic Github workflows. We will make sure that you leave the workshop aware of the best practices for developing projects on Github (e.g. writing a good “readme” or posting and labeling issues) and an understanding of how Github can help make your projects more readable and accessible.
This workshop is developed for anyone looking for a solution to making projects – whether it be your research on arctic glaciers, the materials for an undergraduate course, your PHD thesis, or even a cookbook – more manageable. This workshop is geared towards all skill levels, but first-time and novice users are encouraged and prioritized.
Schedule
The schedule can be found in the workshop repository here.
We'd love to have your feedback, so at the end of the workshop please complete this short survey.
Presentations
The links to the presentations can be found below.
- Hello & Welcome - Short intro to who we are.
- What, Why, and Welcome to Github - In this short presentation, we'll get a brief intro to what GitHub is and some handy terms which well help get you speaking the language of Git/Github.
- Working collaboratively With GitHub - In the previous talk, we saw how individually you might work on projects, this talk will show you two pathways for collaborating on GitHub.
- Working locally using git - In the real world you'll probably want to work on your own computer and then keep the versions on GitHub. In this presentation we show you a sample workflow for keeping track of everything you've done.
- More things you can do with GitHub - Here we go through the essential components of a Github Repository. We talk specifically about: readme's, how people can contribute to your project, the code of conduct for your project/community, and licensing your project.
Exercises
The links to the workshop exercises can be found below.
- My First Repo: Make your own repository on GitHub and experiment with issues, branches, commit messages and pull requests.
- My First Pull Request: Jumping in with your very first open source contribution! Work in pairs to edit a file in your partner's GitHub repository using a pull request.
- Working Locally: Add a repository from your own computer and keep it synced with the version online at GitHub.
Help & code of conduct
How can I ask questions?
Please feel free to ask any of the facilitators any questions you have - we're here to help!
You should also try asking your neighbours as you're working through the exercises. Figuring out how to do this in pairs is much easier than struggling alone!
We have a living etherpad where we will be collecting any questions from participants and answering either on a rolling basis or after the workshop.
Hop on the pad if you've got questions, comments, want to make notes as we're going along, or want to answer any of the questions.
Where can I find the workshop Code of Conduct?
You can find it here. Remember that this workship is aimed at beginners to git and GitHub, and there's no programming background required. It is very important that we ensure everyone feels welcome and that their contributions are valued. If you do not abide by the code of conduct and treat all members of the workshop with respect you will be asked to leave.
Useful Resources
Here we'll list some persistent resources that you might use throughout the workshop.
Getting started with Github
- Friendly Github Workshop Repository
- Github Help Pages
- Github Desktop Guide
-
Ten Simple Rules for Taking Advantage of Git and GitHub
http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1004947
-
Markdown Cheatsheet
https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
Using git from the command line
-
Git Command Line Cheat Sheet
https://services.github.com/kit/downloads/github-git-cheat-sheet.pdf
- Oh sh*t git
Working collaboratively & leading open source projects
- Open Leadership Training Series
- The Working Open Workshop Repository, Montreal 2017
- The Working Open Workshop Repository, Berlin 2016
Example projects
- Example Project: Bionode
-
Example Project: Cookie Recipe
https://github.com/joeyklee/friendly-github-intro/tree/master/examples/chocolate-chip-cookies
-
Example Project: A Simple Interactive Map Using R
https://github.com/joeyklee/friendly-github-intro/tree/gh-pages/examples/interactive-r-map
-
Example Project: A Portfolio Template
https://github.com/joeyklee/friendly-github-intro/tree/master/examples/portfolio-template
Community Support
- Mozilla Science Lab