Warning message

Submissions for this form are closed.

Introduction to Git, 13-17 November 2023

Introduction to Git

The 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 a cooperation between HPC2N and UPPMAX. 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 UPPMAX resources for this (Rackham).

Requirements:

  • Basic knowledge of using the command line.
  • Basic knowledge of using 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: 2023-11-(13-17).
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: 2023-11-06.

EXERCISES

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

SLIDES

The slides can be found on HackMD: https://hackmd.io/@git-fall-2023 (You can use the Tags dropdown menu to sort for the tag "Lecture" to see only the lecture slides)

LECTURES

Recordings of the lectures can be found here: TBA

Preliminary schedule

Monday, 2023-11-13

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, 2023-11-14

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, 2023-11-15

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, 2023-11-16

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, 2023-11-17

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 (mainly for those who cannot use their own computers 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 UPPMAX partially funded by the Swedish Research Council through grant agreement no. 2022-06725.

Registration

Please fill in the below form to sign up. All fields marked with * are required. REGISTRATION CLOSED! 

Updated: 2024-04-17, 14:47