📅 Workshop: Introduction to Git & GitLab

Date: 27 March 2026 Location: Building 10.05, 3rd floor — Room 572 Organisers: Maxime Thumin & Thibault Cimic Estimated duration: 3h (1h30 theory + 1h30 hands-on)


🧩 Programme

Part 1 — Theory (1h30)

A progressive introduction, from local to cloud, from personal to collaborative.

# Topic Duration
1 What is Git? Why version control? 20 min
2 Git locally: commits, branches, when to commit 25 min
3 GitHub & GitLab: Git in the cloud 20 min
4 Collaboration: forks, merge requests 25 min

Part 2 — Hands-on (1h30)

We start from the cloud and work our way down to your machine. The goal is to contribute to this very repository.

No assumptions on programming language — the project uses text files (Markdown). Think of the text as your code, and the automated checks as your tests.

Exercise 1 — Set up your workspace

Fork the repo (get it onto your own GitLab): 1. Go to https://gitlab.com/thibaultcimic/git_tutorial 2. Click Fork → select your GitLab namespace

Clone your fork (get it onto your machine):

git clone git@gitlab.com:yourusername/git_tutorial.git
cd git_tutorial

Install the pre-merge-commit hook (one-time setup):

cp hooks/pre-merge-commit .git/hooks/pre-merge-commit && chmod +x .git/hooks/pre-merge-commit

Create your branches (following the branch hierarchy):

git branch dev-yourname main
git checkout dev-yourname
git checkout -b dev-yourname-participant

Exercise 2 — Write your participant file

cp participants/TEMPLATE.md participants/firstname-lastname.md

Open the file, fill in all the fields and sections.

git add participants/firstname-lastname.md
git commit -m "Add participant file for Firstname Lastname"
git log --oneline

Exercise 3 — Merge your way up to main

git checkout dev-yourname
git merge dev-yourname-participant
git checkout main
git merge dev-yourname

A local hook will run automatically and check your file for spelling mistakes. If something is wrong, the merge is blocked — fix it, commit, and retry.

Exercise 4 — Push and open a Merge Request

git push origin dev-yourname
git push origin main

Go to your fork on GitLab, open a Merge Request (called a Pull Request on GitHub) targeting the original repo's main branch. A CI job will run automatically and check the structure of your participant file. If it fails, fix and push again.


❓ FAQ

I made a mistake in my file, can I fix it? Yes! Edit your file, then git add + git commit, redo the merges, and push. Your MR will update automatically.

I can't find the Fork button... Make sure you're logged in on GitLab. The button is in the top right corner of the repository page.

The CI is red on my MR — is that bad? Don't panic! Read the error message. It's likely a small issue with your file structure. Fix it, commit, push — the CI re-runs automatically.

The merge onto main was blocked — what do I do? Run git merge --abort to cancel, go back to your feature branch, fix the spelling mistake, commit, and redo the merges.