🖥️ Week 01, Day 03 - Lecture
Version Control with Git and Markdown documentation
add
, commit
, and push
workflow to version control your own code.
Welcome back. Today’s session is fully hands-on, we won’t use slides.
We’ll start by ensuring everyone is confident with yesterday’s analysis, and then we will use that same analysis to learn the professional standard for version control: Git and GitHub.
⏰ Wednesday, 16 July 2025 | 10:00am - 1:00pm 📍 Location: CKK.2.06 (see LSE’s 🗺️ campus map)
Part 1: W01D02 Lab Solutions Walkthrough
10:00 – 11:00
Checking In
We’ll start with a quick poll to see how yesterday’s lab went.
Question: “Which part of yesterday’s rain analysis felt most challenging?”
Guided Tour of the Solutions
The goal of this first hour is to walk through the complete solution, answer your questions, and make sure everyone has a working script they understand.
You can find the full solutions in either of these places:
- As a web page: ✅ W01D02 Lab Solutions
- As a notebook in your
Nuvolos workspace:
lab-notebooks/W01D02_Lab_Solutions.ipynb
☕️ Coffee Break
11:00 – 11:15
Part 2: Your Professional Hub with GitHub
11:15 – 12:00
In this part, we’ll set up your professional home for all the work you do in this course and beyond. We will create a GitHub account and your first repository.
1️⃣ Creating a GitHub Account
Visit GitHub and create an account if you don’t have one yet.
- Email: Use an address you check regularly.
- Username: Choose a professional username. This will be part of your public portfolio.
2️⃣ Creating a private repository
A GitHub repository (or ‘repo’) is like a project folder that lives on the internet. We’ll create one to store your study notes and code for this course.
- Go to GitHub.com and click the New repository button.
- Follow these settings:
- Repository name:
me204-study-notes
- Description:
My personal study notes for LSE ME204
- Visibility:
Private
- Initialize this repository with:
- Repository name:
Click Create repository. Congratulations! You now have a private, cloud-hosted home for your work.
I will then show you things like:
- How to create a Markdown file
- The purpose of a
README
file - The purpose of a
.gitignore
file
Quick Stretch Break
12:00 – 12:10
Part 3: The Git Workflow Ceremony
12:10 – 13:00
Now we will use the “Git ceremony” to get your rain analysis code from yesterday into your new GitHub repository.
1️⃣ Clone the Repository
First, you need to “clone” your new GitHub repository to create a local copy in your Nuvolos workspace.
On your new repo’s GitHub page, click the green <> Code button.
Select the SSH tab and copy the URL.
In your Nuvolos terminal, run:
git clone <paste-the-ssh-url-here>
This creates a new folder named
me204-study-notes
.
2️⃣ Add Your Code
Move the
W01D02_Lab_Solutions.ipynb
file into your newme204-study-notes
folder.Navigate into the repository folder in your terminal:
cd me204-study-notes
If navigating the file systems from the Terminal is not something you’re familiar with, you can just drag and drop the file into the me204-study-notes
folder in your Nuvolos workspace.
To learn more about terminal commands, you can refer to our Terminal guide.
3️⃣ The add-commit-push
Cycle
Refer to our GitHub guide for a more detailed explanation of the
add-commit-push
cycle.
This is the core ceremony for saving your work with Git.
- Stage your changes (tell Git what files to save)
git add .
Notice that the .
means “all files in the current directory”.
- Commit the changes (save a snapshot with a meaningful message)
git commit -m "Add W01D02 rain analysis solution"
- Push the commit (send your saved changes up to GitHub)
git push
Verify on GitHub that your notebook file has appeared in your repository. You have now version-controlled your first piece of analysis!
Try to do this on your own now:
Rename the two lab files to something more descriptive.
For example, the first lab file could be
NB01 - Python Recap.ipynb
whereas the second lab file could beNB02 - Data Collection.ipynb
.Create a new Markdown file called
README.md
and write a short description of what this project is about. It could be as simple as:# ME204 Study Notes This repository contains my study notes for the LSE ME204 course.
If you are on a Mac, try to add this to your
.gitignore
file:.DS_Store
This will prevent you from accidentally committing your desktop icons to your repository.
📥 What’s Next?
This afternoon’s lab is your chance to practice these skills, learn how to resolve a common issue (merge conflicts), and set up the official repository for your midterm project.