Module 8: GitHub for Bioinformatics
This module introduces Git and GitHub for life scientists and bioinformatics trainees. Version control is a core skill in modern research computing — it lets you track changes to your scripts and data, collaborate with colleagues, and share your work with the world. By the end of this module you will have a GitHub account, a repository containing real files, and the confidence to use Git in your daily workflow.
“GitHub is where science meets code. It keeps your work safe, documented, and reproducible — and it signals to collaborators and employers that you work with professional tools.”
Learning objectives
Section titled “Learning objectives”By the end of this module, you will be able to:
- Create and configure a GitHub account
- Install and configure Git on your local machine (including WSL)
- Understand the Git workflow: stage, commit, push, pull
- Create and manage repositories on GitHub
- Track changes to bioinformatics scripts and documents over time
- Use branches to develop new features without breaking working code
- Collaborate using forks, pull requests, and issues
Lessons
Section titled “Lessons”- Lesson 1: Account setup and Git configuration
- Creating a GitHub account, installing Git, and setting your identity
- Lesson 2: Your first repository
git init,git add,git commit, and.gitignore
- Lesson 3: Pushing to GitHub
- Connecting a local repository to GitHub with
git remote,git push, andgit pull
- Connecting a local repository to GitHub with
- Lesson 4: Branches and history
- Creating branches, switching between them, merging, and reading commit history
- Lesson 5: Collaboration and pull requests
- Forking repositories, opening pull requests, and working with issues
Prerequisites
Section titled “Prerequisites”Before starting this module, you should be comfortable with:
- Basic Linux navigation (
cd,ls,pwd) from Module 1 - Running commands from the terminal
No prior Git or GitHub experience is required.
Note: Examples in this module use small plain-text files so every command can be run immediately without large datasets.