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, & again at Turing Institute, July 2017 & July 2018
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. We'll also introduce working locally and some of the command line options so you're ready to use these workflows in your day to day life!
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.
The links to the presentations can be found below.
- 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.
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.
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
- Markdown Cheatsheet
Using git from the command line
- Git Command Line Cheat Sheet
Working collaboratively & leading open source projects
- The Working Open Workshop Repository, Berlin 2016
- Example Project: Cookie Recipe
- Example Project: A Simple Interactive Map Using R
- Example Project: A Portfolio Template
- Mozilla Science Lab