💻 Week 10 Lab
Using Git as a Team

📍Time and Location: Check your timetable for your assigned lab session
📋 Preparation
- If you already have a group of three from the same class, you can start thinking about project ideas
- Read our Git Team Collaboration Guide before the lab
🛣️ Roadmap
Part 1: Form Your Groups (20 min)
(If you attended the lecture, you can skip this part and make more progress with the next part!)
Your lab instructor will begin by giving you time to form your groups. If you don’t already have a group, this is your chance to find teammates.
🎯 ACTION POINTS:
Form your group
- Ideal size: 3 members
- Need help finding a group? Ask your lab instructor
- Some groups may have 4 members (requires instructor approval)
⚠️ Did you miss this lab? You’ll be randomly assigned to a group later.
Pick a creative name for your team
- The name will be part of your GitHub repository URL
- Make it unique and interesting
- Be creative! Don’t use generic names like “Group 1” or “Team A”
Find the GitHub assignment link:
👥 Together Click on the link below and accept the assignment.
The first person to click the link will create a team name
- Other group members should use the same team name when they join
- You’ll see your new repository with just a README.md file
Everyone should now clone the repository locally:
git clone <repository-url> cd <repository-name>
💡 Coming up next: Your instructor will review how to use branches for team collaboration!
Part 2: Working Together with Git Branches (30 min)
🗣️ TEACHING MOMENT
Your lab instructor will demonstrate how teams can work safely on code using Git branches, using one of your group’s repositories as an example.
The Instructor’s Demo
Pay close attention as they show you how to:
Create a branch
git checkout -b add-team-info
💡 Important Note: In this course, branches should serve a single purpose, reflected in their name.
Modify a file on that branch
## Meet the Team - Team Member 1 - Team Member 2 - Team Member 3
Then, commit and push to that branch. The main branch remains untouched.
Create a pull request
💡 Pro-tip: Pull requests let your team review and discuss changes before they become final.
Merge the changes
The group whose repository was used for the demo will review and merge the branch.
Wait for your instructor to finish the demo before moving to the next part.
Part 3: Managing Your First Conflict (40 min)
Now that you’ve seen how branches work, let’s create a safe space to experience your first merge conflict.
The Challenge
Working in your teams, you’ll each make changes to different sections of the README, each on a separate branch. When you try to merge them, you’ll encounter a conflict.
Person A - Team Description
git checkout main git pull git checkout -b <your-name>-team-description
Add this section to your README:
## About Our Team [your interests]... We are students passionate about
Person B - Project Ideas (in parallel with Person A)
git checkout main git pull git checkout -b <your-name>-project-ideas
Add this section to your README:
## Project Ideas Here are some topics we're excited to explore...
Person C - Meeting Times (also in parallel)
git checkout main git pull git checkout -b <your-name>-meeting-times
Add this section to your README:
## Team Schedule [days/times]... We plan to meet on
💡 Note: This activity works best if you all start from the same point (the main branch) and work simultaneously.
Creating the Conflict
Now comes the fun part! Create pull requests for each branch and try to merge them one after another. The second or third merge will show a conflict.
⚠️ Don’t panic! When Git shows a conflict, it’s just asking for help deciding which changes to keep.
Resolving Together
👨🏻🏫 TEACHING MOMENT
Your lab instructor will wait until a couple of groups have conflicts, then demonstrate how to resolve them:
- Understand the conflict markers (
<<<<<<<
,=======
,>>>>>>>
) - Decide which changes to keep
- Create a final commit that resolves the conflict
💡 Learning Insight
Merge conflicts aren’t mistakes - they’re a natural part of collaborative work. Think of them as opportunities to discuss and combine everyone’s contributions thoughtfully.
Part 4: Start planning your project Pitch
On 🗣️ W11 Lecture you will learn how to use GitHub Projects to plan your project. This will be important for your final submission at the end of May 2025. But for now, focus on preparing your pitch for next week.
🎯 ACTION POINTS:
Keep it short (3-5 minutes) but make it count. This is worth 10% of your grade.
We don’t want to see data yet!
Focus on:
- The data source(s) you’re planning to use
- The research questions you hope to answer
- How you’ll divide the work among team members
- A topic you are interested in (you can always change it later)
- Ideas of API(s) you might want to use
- What would the database schema look like?
- Which plots, and which
geom_*()
functions would you use to explore the hypothetical dataframes?
💡 Ideas for project topics
To give you ideas, top final projects from the past cohorts have ranged from:
By the way, all of these projects were great but of course, all of them had some minor issues which were addressed in our feedback to the group. Try to spot them!
Presentation Format
- Your presentation MUST be a GitHub Page: Present your pitch using the GitHub Pages site you created today
- Do not add excessive text: Unlike our course pages, which must be fully informative and rich in information, you are not preparing a tutorial but a concise pitch for your project.
- Include visuals: Consider adding diagrams or images that help explain your concept
- Keep it professional (or entertaining): This is practice for presenting data science work in professional settings
This will give you a head start on your pitch presentation for next week.