Workshop: Shell + Git + GitLab @ HZDR


Christian Kaever, Fredo Erxleben (Helmholtz-Zentrum Dresden-Rossendorf), Mani Lokamani (HZDR)

General Information

Language English
Cost Free of charge
Level Beginner
Registration Period 2021-10-04 to 2021-10-10






You do not need to set up an Indico account to register.

Please note: To allow for a fairer distribution of seats across the various centers, the initial seat count per center has been limited. We encourage those that want to register after the seats for their center have been taken, to register on the waiting list instead. Remaining seats will be distributed among the waiting list according to first-come-first-serve. Persons on the waiting list will be notified regarding their registration on the work day after the end of the registration period.

Code of Conduct

We adhere to the Software Carpentries' Code of Conduct.
You can report violations to

Workshop Content

This workshop is conceptualized as a two-day event that covers the basic tools required for a research software workflow:

  • Working with a command-line interface (Shell) as a foundation for the following tools
  • Employing Git as version control system (VCS) for managing code development workflows
  • Introduction to project management with the GitLab web-platform


Participants are asked to make sure they have the necessary rights to install software on their computers.

Installing the Required Tools

For this workshop two tools are required:

  • A Unix-compatible command-line interface (Shell for short)
  • The git tool

You can find detailed installation instructions for each of these tools here.

Setting up a SSH-Key pair

These are required to interact with GitLab from your local machine. You can refer to the GitLab documentation for instructions. Due to different center policies, we strongly recommend to ask your local IT support for help if you are unsure.

You do not need to add the keys to GitLab, we will do this during the workshop.

  • Friday, October 15
    • 9:00 AM 9:30 AM
      Organisation: Arrival and Set-up
    • 9:30 AM 10:30 AM
      Getting to know the Unix Shell: Working with files and directories

      A quick introduction into the basic operations on the command line as foundation for the following part.

      • 9:30 AM
        Navigating in the file system 30m
      • 10:00 AM
        Creating, modifying and removing files and directories 30m
    • 10:30 AM 11:00 AM
      Second Breakfeast 30m
    • 11:00 AM 4:30 PM
      Version Control with Git

      Note that we will conduct breaks based on a majority vote. So if learners need more than 1 break, we will have them.

      • 11:00 AM
        Introduction to Version Control 1h 30m
      • 12:30 PM
        Lunch 1h
      • 1:30 PM
        Navigating the Version History 1h 30m
      • 3:00 PM
        Coffee Break 30m
      • 3:30 PM
        Branching and Merging 1h
    • 4:30 PM 5:00 PM
      Organisation: Wrap-Up
  • Monday, October 18
    • 9:00 AM 9:30 AM
      Organisation: Arrival and Set-Up
    • 9:30 AM 4:30 PM
      Project Management with GitLab

      Learn how to use the GitLab Web-Interface to leverage the power of version control and the surrounding workflow.

      • 9:30 AM
        Setting up Projects 30m
      • 10:00 AM
        Setting Up Authentification 30m
      • 10:30 AM
        Second Breakfast 30m
      • 11:00 AM
        Connecting Git and GitLab 30m
      • 11:30 AM
        User and Group Management 30m
      • 12:00 PM
        The Gitlab Workflow 30m
      • 12:30 PM
        Lunch 1h
      • 1:30 PM
        Issues, Labels, Milestones 1h 30m
      • 3:00 PM
        Coffee Break 30m
      • 3:30 PM
        Merge Requests and Reviews 1h
    • 4:30 PM 5:00 PM
      Organisation: Wrap Up