Skip to content

Tools of the Trade: Git & GitHub

A hands-on introduction to version control for the EPIC: Exploring particle Physics Integrated with Computing Summer Program.

Over this week you will learn how to work as a team in a real, hands-on experience framed within the context of modern experimental particle physics. Your team will pick a real-world physics problem, generate Monte Carlo simulations, isolate the signal region, tune the simulation, extract a branching ratio, and create a poster — together. Git and GitHub are the tools that let several people work on the same analysis without emailing the analysis_final_v3_REALLY_final.py file around.

  •   Setup · Get Ready


    Do this first. Install git, make a GitHub account, and connect your laptop to GitHub (HTTPS or SSH) — with instructions for Windows, macOS, and Linux.

    ~15–20 min

    Start here

  •   Session 1 · Git


    Put a small analysis project under version control on your own laptop. Save snapshots, inspect history, undo mistakes, and keep huge ROOT files out.

    ~30 min

    Start Session 1

  •   Session 2 · GitHub


    Push your repo to GitHub, then learn the real team workflow: the daily loop, Pull Requests, merge conflicts, and git pull.

    ~30 min

    Start Session 2

  •   Cheat Sheet


    A one-page command reference. Keep it open in a tab while you work through the sessions and later while you build your analysis.

    Open the cheat sheet

  •   For Instructors


    Minute-by-minute timing, a pre-session setup check, common pitfalls, and teaching tips for facilitators.

    Instructor notes


Before you start

Why should a physicist care?

Three problems show up in every team analysis, and git solves all three:

  1. "Who changed the fit range and broke the result?" → git records who changed what, when, and why.
  2. "I need yesterday's version back." → git keeps every saved version forever.
  3. "Anna and I both edited the same file." → git merges work from many people.

New to all of this? Start with Setup · Get Ready — it walks you through installing git, creating a GitHub account, and connecting to GitHub on Windows, macOS, or Linux. Once everyone is set up, move on to Session 1. 🚀


Find this tutorial helpful? A star or a follow helps others discover it

Star the repo Follow @jcaicedo6