This guide explains how to pull updates from the main course repository while protecting your own work from being overwritten.
The course repository is updated biweekly with:
- New lab content
- Bug fixes to existing code
- Clarifications to instructions
- Updated requirements or dependencies
You need to pull these updates while preserving your completed lab work.
Make sure all your lab work is committed and pushed to your repository:
git add .
git commit -m "Save my lab work before pulling updates"
git push origin mainWhen in doubt keep a local copy of your files, and copy paste between!
- Go to your forked repository on GitHub
- Look for a message like "This branch is X commits behind IRL-CT:Fall2025"
- Click the "Sync fork" button
- Review what changes will be pulled in
- Click "Update branch"
If you see merge conflicts:
- Don't panic! This means you've modified files that were also updated upstream
- Click "Resolve conflicts" on GitHub's web interface
- Or pull the changes locally and resolve conflicts in your editor
Alternative approach: Create a pull request within your own repository to pull updates from the course repo.
- Go to your forked repository on GitHub (
your-username/Interactive-Lab-Hub) - Click on "Pull requests" tab
- Click "New pull request" button
- Set the repositories correctly:
- Base repository:
your-username/Interactive-Lab-Hub(your fork) - Head repository:
IRL-CT/Interactive-Lab-Hub(the course repo)
- Base repository:
- If needed: Click the blue "compare across forks" link to see cross-fork options
- Make sure branches match: Usually both should be
Fall2025(the current semester) - Click "Create pull request"
- Add a title: e.g., "Pull course updates - Lab 2"
- Click "Create pull request" again
- Click "Merge pull request" to complete the update
- Click "Confirm merge"
- When the "Sync fork" button isn't available
- When you prefer more control over the merge process
- When you want to review changes before merging
- When working with the traditional GitHub workflow
Reference: This follows the process described in the original course documentation
# Navigate to your repository
cd path/to/your/Interactive-Lab-Hub
# Add the main course repository as upstream
git remote add upstream https://github.com/IRL-CT/Interactive-Lab-Hub.git
# Verify it was added
git remote -v# Fetch the latest changes from upstream
git fetch upstream
# Check what's different
git log HEAD..upstream/Fall2025 --oneline# Make sure you're on your main branch
git checkout Fall2025
# Merge upstream changes
git merge upstream/Fall2025- Edit only in sections marked for your work.
- Avoid changing
requirements.txt, starter code, or file structure. - Safe to edit: README.md in lab folders, new files, and marked sections.
- If modifying provided files, back them up first:
cp original-file.py my-modified-file.py
If you encounter conflicts:
git status
# Look for files marked as "both modified"Look for conflict markers:
<<<<<<< HEAD
Your changes
=======
Upstream changes
>>>>>>> upstream/Fall2025
- Keep your work: Delete the upstream section and conflict markers
- Accept upstream: Delete your section and conflict markers
- Combine both: Merge the changes manually
git add resolved-file.py
git commit -m "Resolve merge conflicts in lab updates"-
Check git history:
git log --oneline git show [commit-hash]
-
Recover from a previous commit:
git checkout [commit-hash] -- path/to/your/file.py
-
Use GitHub's web interface:
- Go to your repository
- Click on the file
- Click "History"
- Find your previous version and copy the content
- Week 2, 4, 6, 8, 10, 12: Check for updates after class
- Before starting a new lab: Always pull latest updates
- If you're having issues: Updates might contain bug fixes
If you run into problems:
- Save your work first! Commit everything
- Create an issue in your repository with:
- What you were trying to do
- The error message you received
- Screenshots of any conflicts
- Ask for help in class or office hours
Remember: Updates are meant to help you succeed. When in doubt, save your work and ask for help!


