Specific skills include:
- Use Issues to describe, discuss, and track code changes
- Compare and contrast branching/merging with forking/pull requests
- Share your outputs on GitHub Pages
Collaboration with GitHub
EDS 214: Analytical Workflows and Scientific Reproducibility
Day 3 Afternoon | August 27th, 2025
This afternoon, you’ll learn how to…
Use GitHub for project management and collaboration
Specific skills include:
Recap
This morning you learned about branches. How to:
These operations promote collaboration while working in the local git repository.
GitHub also offers project management tools.
These tools integrate with features like branches and commits.
Code evolves
Writing an analysis is an exploratory process.
Discussions and to-do items are easily lost.
We need project management tools to link problems, discussions, and code changes!

A Simple Issue
A Simple Issue
A Simple Issue
A Simple Issue
A Simple Issue
A Complex Issue

Here’s a more complex issue
A Complex Issue

This title suggests a new feature
A Complex Issue

The initial description describes the use case
A Complex Issue

This commit includes a prototype for the feature, with a list of questions that came up in the process.
A Complex Issue

Latter commits include the finished code plus some tests to verify it works.
A Complex Issue

After verifying the code works, the author closed the issue.
Issues Recap
Issues are a project management tool GitHub provides to help you track:
The alternatives (comments, emails, Slack messages…) will eventually get you lost!
Branch/Merge vs Fork/Pull Request
Branching and merging are local operations that help you manage your own work.
Forking and pull requests are remote operations that help you manage work with others.
Fork/Pull Request

You’re familiar with local and remote repos.
Fork/Pull Request

A fork copies the remote repo. Pull requests send changes back to the original remote repo.
Fork/Pull Request

The connection between local and remote fork mirrors the local and remote original..
Fork/Pull Request

Fork/pull is conceptually identical to branch/merge.
The difference is that fork/pull is a remote operation, while branch/merge is a local operation.
Fork/Pull Request Recap
Fork/Pull Request is a project management tool GitHub provides to help you manage code changes from multiple contributors.
The alternatives (comments, emails, Slack messages…) will eventually get you lost!
GitHub Pages
GitHub Pages provides a free web presence for your projects.
Great for sharing your work with others.
Sharing URLs makes updates easy! Hunting for email attachments is hard!
You will use GitHub Pages for class assignments, Capstone, and your portfolio.
Meet Dr Eli Holmes

Meet Dr Eli Holmes. Research scientist at NOAA. Expert in fisheries and open science.
Forecasting Sardines

In 2020, Dr Holmes led a paper about forecasting sardine landings.
GitHub Repo

Here’s the project’s GitHub repo - should look familiar.
Note the URL under About. [username].github.io/[reponame]
GitHub Pages

Here’s the project’s GitHub Pages site.
Pages sites can host documentation, results, and more.
Function Documentation

Dr Holmes used their Pages site for documentation on their functions and data.
Back to GitHub

The function documentation links directly back to the source code on their GitHub repo.
GitHub Pages Recap
GitHub Pages give your projects a web presence.
On your project’s Pages site, you can host:
All your collaborators need is a URL!
But what if I break it?
Bowie is an environmental data scientist working on an analysis of pollution in local watersheds.
She manages her project in a GitHub repository, using Issues to track tasks and Pages to share her results with collaborators.
Her two collaborators are Iggy and Nomi.
Bowie is worried that while she’s fixing the bug Iggy found she might temporarily break the Pages site, which would delay Nomi’s input on the project.
What should Bowie do to address Iggy’s bug while keeping the Pages site working for Nomi?