Collaborative version control with Git and GitHub

Radboud University, Nijmegen

October 29 - 29, 2024

10:45 - 15:15 CET

Instructors: Leon Oostrum, Sander van Rijn

Helpers: Johan Hidding

General Information

The eScience Center offers a range of workshops and training courses, aimed at PhD candidates and other researchers or research software engineers. We organize workshops covering digital skills needed to put reproducible research into practice. These include online collaboration, reproducible code and good programming practices. We also offer more advanced workshops such as GPU Programming, Parallel Programming, Image Processing and Deep Learning.

This workshop introduces version control with git and teaches you how to collaborate using git and GitHub.

Knowing how to use git and GitHub will allow you to keep track of changes in your software project, publish your code online, collaborate with several people in the same project, and contribute to projects as an external collaborator.

Who: 

It is assumed that participants already write code for their research, but no expertise is required. Some experience in navigating file trees and editing files in a terminal/command prompt session, for example using nano, is recommended.

If you find the topics that are covered in this workshop too basic, you could consider joining the ‘Intermediate Research Software Development’ workshop. That workshop also covers best practices in using git and GitHub, but in addition teaches more intermediate topics like software architecture, object-oriented & functional programming, Integrated Software Development environments and is targeted to slightly more advanced research software engineers. Checkout our upcoming workshops for more information.

Where: Radboud University, Nijmegen. Get directions with OpenStreetMap or Google Maps.

When: October 29 - 29, 2024, 10:45 - 15:15 CET.

Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Accessibility: We are committed to making this workshop accessible to everybody. The workshop organizers have checked that:

Materials will be provided in advance of the workshop and large-print handouts are available if needed by notifying the organizers in advance. If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch (using contact details below) and we will attempt to provide them.

Workshop files: You will find all slides, notebooks, archived collaborative documents, and other relevant files in the files folder of the workshop website repository after the workshop.

Contact: Please email or training@esciencecenter.nl for more information.


Code of Conduct

Participants are expected to follow these guidelines:

Syllabus

Introduction to version control with Git

Collaboration with Git and Github

Schedule

Morning: Get to know GitHub and Git Version Control

10:45 Welcome
10:50 Introduction to Git, setting up Git
11:30 Coffee break
11:45 Creating a repository, tracking changes
12:30 END

Afternoon: GitHub and Git: Master Version Control and Collaboration

13:30 Welcome
13:35 Remotes in GitHub
14:15 Coffee break
14:30 Collaboration with Git and GitHub
15:15 END

All times in the schedule are in the CET timezone.


Setup

To participate in this workshop, you will need access to software as described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

Software setup

Computer

Participants must work on a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) on which they have administrative privileges.

Software

To participate in this workshop, you will need to prepare the following (if you haven’t already):

To confirm that everything works

You should now be able to open a terminal window and execute the following commands:

Git

git --version

returning (something similar to):

git version 2.37.1 (Apple Git-137.1)

Github account & SSH connection

ssh git@github.com

returning (something similar to):

Hi [username]! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

If something does not work:

Follow the corresponding setup instructions. If you still need help, send us an email at training@esciencecenter.nl.