Introduction to Git, 3-7 November 2025

Introduction to Git

This ONLINE NAISS course will be an introduction to version control, with a strong focus on Git.

Some of the main concepts, like repositories, commits, trees, branches, and merges will be covered, as will many of the basic commands, like clone, add, push, pull, commit, and fork. We will also go one step beyond the basic concepts and explain the fundamentals of how commits and branches can be manually created by using so-called "plumbing" (low-level) subcommands.

The lectures will be complemented by demos, as well as hands-on, during which the participants will learn both how to do simple Git commands as well as more complex cases. The hands-ons will mainly be done using GitHub.

Purpose: Learn what Version Control is and how to get started using Git.

Format: The course will be five half-days and comprised of lectures and hands-on sessions. This is an online-only course (Zoom)

Audience: This NAISS course is taught by trainers located at the HPC2N and UPPMAX NAISS branches. It is open for anyone in Swedish academia. You will be using your own computer or other existing computer access for the course. If you do not have access to a computer that can run Git (or which you can install Git on), then there will be an option to use NSC resources for this (Tetralith).

Requirements:

  • Basic knowledge of the command line.
  • Basic knowledge of a text editor of your choice on your system.
  • A GitHub user account (free - can be created for the course).
  • A reasonably recent version of Git installed on your system. See the Git homepage.

Date: 2025-11-(3-7)
Time: 8:30-12:00 on the first day (the first half-hour is an optional Git installation session for those that need it), 9:00-12:00 on the rest of the days.
Deadline for registration: 2025-10-31 (end of day).

EXERCISES

You can download the exercises from here: https://github.com/hpc2n/course-intro-git

PRESENTATIONS

The rendered presentations can be found on GitHub: https://hpc2n.github.io/course-intro-git/

LECTURES

Recordings of the lectures can be found here: TBA

Preliminary schedule

Monday, 2025-11-03

08:30 B. Optional installation help (Git)
09:00 0. Introduction and course info
09:10 A: Setup
09:30 1. Why use version management?
10:00 Break (15 min)
10:15 2. Basic commands, part 1
11:15 Break (15 min)
11:30 2. Basic commands, part 2
12:00 End of first day

Tuesday, 2025-11-04

09:00 3. Basic concepts, part 1
10:15 Break (15 min)
10:30 3. Basic concepts, part 2
11:20 Break (10 min)
11:30 4. Traversing the commit tree, part 1
12:00 End of second day

Wednesday, 2025-11-05

09:00 4. Traversing the commit tree, part 2
10:15 Break (15 min)
10:30 4. Traversing the commit tree, part 3
11:00 Break (10 min)
11:10 5. Branches, merges, and conflicts, part 1
12:00 End of third day

Thursday, 2025-11-06

09:00 5. Branches, merges, and conflicts, part 2
09:55 Break (10 min)
10:05 C: Brief intro to SSH-keys and using GitHub
10:15 6. Working with remotes, part 1
10:55 Break (10 min)
11:05 6. Working with remotes, part 2
12:00 End of fourth day

Friday, 2025-11-07

09:00 7. Teamwork, part 1
09:55 Break (10 min)
10:05 7. Teamwork, part 2
10:50 Break (10 min)
11:00 7. Team work, part 3
12:00 End of the course

Course project: As part of the hands-on, you may be given temporary access to a course project, which may be used for running some of the hands-on examples (only for those who cannot use their own computers or a pre-existing HPC centre account for Git). There are some policies regarding this, that we ask that you follow:

  • You may be given access to the project before the course; please do not use the allocation for running your own codes in. Usage of the project before the course means the priority of jobs submitted to it goes down, diminishing the opportunity for you and your fellow participants to run the examples during the course.
  • The course project will be open 1-2 weeks after the course, giving the participants the opportunity to test run examples and shorter codes related to the course. During this time, we ask that you only use it for running course related jobs. Use your own discretion, but it could be: (modified) examples from the hands-on, short personal codes that have been modified to test things learned at the course, etc.
  • Anyone found to be misusing the course project, using up large amounts of the allocation for their own production runs, will be removed from the course project.

The course uses compute resources provided by the National Academic Infrastructure for Supercomputing in Sweden (NAISS) at NSC partially funded by the Swedish Research Council through grant agreement no. 2022-06725.

Registration

You find the registration here: https://forms.office.com/e/SDKK2wYGT9

Updated: 2025-10-15, 18:28