This two-class course (with optional third class session) is designed to introduce attendees to git version control software and GitHub as a repository for code and/or data. Each two hour session will include brief tutorials interspersed with challenge exercises. The first two sessions assume no prior programming knowledge. At the end of these two sessions, you will be able to use git to track changes to software and other files, and use GitHub to work collaboratively to publish repositories of code and/or data. The optional third session assumes attendees have a basic familiarity with using the command line to navigate through directories and work with files and will include an overview of the command line interface to access the full functionality of the git software.
Required software: Software requirements for this course can be found on fredhutch.io's Software page. The HackMD (interactive page used for sharing links and information) for this course is here: https://hackmd.io/@k8hertweck/GitHub
- Class 1: introduction to version control, git workflow with desktop clients (tracking changes, branching, merging, ignoring things, branches)
- Class 2: Collaboration and code sharing with GitHub, resolving conflicts
- Class 3 (optional): git workflow on the command line
- Each set of class materials are described in the relevant
class*.md
file. faq.md
includes answers to common questions, specifically related to troubleshooting software.instructors.md
includes information for instructors to facilitate teaching each lessonhackmdio.md
is an archive of the interactive webpage used during lessons- Information about use of Git and GitHub at Fred Hutch is available on the Data Science Wiki