Git & GitHub for Research Collaboration¶
A 2-hour hands-on workshop for STEM graduate students who want to use Git and GitHub effectively in their research.
Whether you're managing analysis scripts, collaborating on code with your lab group, or preparing to publish reproducible research - this workshop will give you the practical skills to get started.
What You'll Learn¶
- Why version control matters for reproducibility and collaboration in research
- Core Git workflow - commits, diffs, history, and
.gitignore - GitHub as a research tool - repositories, Issues, Pull Requests, and GitHub Actions
- Collaborative workflows - branching, merging, and resolving conflicts as a team
- Research patterns - tagging submissions, DOIs with Zenodo, managing notebooks
Before the Workshop¶
Complete setup before you arrive
The Pre-Workshop Setup Guide takes about 30 minutes. If you get stuck, arrive 15 minutes early and we'll help.
Workshop Schedule¶
| Block | Topic | Duration |
|---|---|---|
| 1 | Why Git? From Chaos to Citable Code | 10 min |
| 2 | Git Fundamentals - Solo Workflow | 30 min |
| 3 | GitHub - Your Research Portfolio + Actions | 20 min |
| 4 | Branching & Collaboration | 40 min |
| 5 | Research Workflow Patterns | 5 min |
| 6 | GitHub Copilot Demo & Wrap-up | 10 min |
| Buffer for troubleshooting | ~5 min |
Workshop Materials¶
Exercises¶
- Exercise 1: Create Your Research Repository - Create a Git repo, make meaningful commits, and set up
.gitignore - Exercise 2: Research Team Collaboration - Pair up for branches, Pull Requests, code review, and merge conflicts
Handouts¶
- Git Cheat Sheet - Every command from the workshop, plus research workflow patterns and notebook tips
- GitHub Copilot One-Pager - How to get free access and 5 prompts every researcher should know
Printable PDFs
PDF versions of the handouts are available from the latest release.
Fork-Ready Templates¶
- LaTeX Paper Template - Push LaTeX, get PDF. GitHub Actions auto-compile on every commit.
- Python Notebook Template - Git-friendly notebooks with nbstripout, jupytext, and CI validation.
Contributing¶
Found a typo? Have a suggestion? Open an issue or submit a pull request - that's what this workshop is all about!