Collaborative version control with Git and GitHub for Erasmus MC

Erasmus MC room Gk-560

juli 30, 2024

9:30 - 16:30 CEST

Instructors: Sven van der Burg, Carsten Schnober

Helpers: Claire Donnelly, Serena Defina

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: Wytemaweg 80, 3015 CN Rotterdam. Get directions with OpenStreetMap or Google Maps.

When: juli 30, 2024, 9:30 - 16:30 CEST.

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

09:30 Welcome and icebreaker
09:45 Workshop Introduction
10:00 Introduction to Git, setting up Git
10:30 Coffee break
10:45 Creating a repository, tracking changes.
11:30 Coffee break
11:45 Exploring history, ignoring things
12:30 Lunch Break
13:30 Remotes in GitHub
14:15 Coffee break
14:30 Collaboration with Git and GitHub
15:15 Coffee break
15:30 Collaboration through forking
16:15 Wrap-up
16:30 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.