CD2H GitHub Tutorial
This tutorial contains a short set of presentations and exercises to help users learn more about GitHub and how it can be used for a variety of purposes beyond software development.
Our goal is to help participants set up their GitHub accounts and become comfortable with the concepts, terminology, and capabilities of GitHub and how it can enhance an individual or team effort. We expect that most of the features we will demonstrate can be performed via a web browser.
Caveats
This is version 1.1 of this tutorial. We hope to learn through feedback from the tutorial participants, and to use this to improve the tutorial materials. All of the content for this course is being created and shared via GitHub, where we intend to encourage participants to collaborate and improve the content, while learning and exercising GitHub-based techniques.
Privacy
This tutorial is scoped for public data and communications only. If you have any questions about the suitability of these technologies for your particular project, please contact the information technology group. https://o2.ohsu.edu/information-technology-group/contact-us.cfm
Goals
We hope that participants in the tutorial will leave with a better understanding of GitHub and its potential utility for their individual and team needs, whether these be education, software development, data curation, or project management. Specific topics we intend to cover include:
- Basic GitHub account setup, including configuring a user profile.
- GitHub dashboard elements
- The GitHub organizational model, including Users, Organizations, and Teams
- The GitHub content model, including Files, Gists, Repositories, Branches, Forks
- Markdown as a concise and universal way to author structured text
- Gists as a way to share small amounts of text or code
- Use of GitHub to store different data and content types such as CSV, GeoJSON, images, and more.
- Use of GitHub to create and publish websites and applications via GitHub Pages
- Using Gitter for asynchronous, joinable team communication
- Using GitHub Issues and Milestones to track project progress and communicate and retain team knowledge.
Non-Goals
This course is focused on all that GitHub can do without requiring a desktop computer or worrying about programming languages. Some of the things we will not be discussing explicitly include:
- Using GitHub’s Social Network features such as Watch, Star, and Find-a-Job.
- Cloning a GitHub repo locally
- Forking a repo
- Resolving conflicts
- GitHub integration via webhooks and other types of API access
Lesson Plan
We currently have broken the above material into two lessons. The lessons below are intended to be used by the instructor/guide of the course, but could be used by a self-guided student
- Lesson 1 GitHub account setup, dashboard, organizational and content models, Gists, Markdown, Data
- Lesson 2 GitHub Issues/Milestones, Gitter
How-Tos
In addition to the high-level Lessons, we’ve prepared some more detailed descriptions of practical solutions to common challenges when using GitHub and Markdown.
Additional Resources
- Frequently Asked Questions
- Git and GitHub for Documentation
- Markdown Cheatsheet
- Git 101: Git and GitHub for Beginners
- Mastering Issues (10 min read)