ATGCCGGAATTGGCACATAACAAGTACTGCCTCGGTCCTTAAGCTGTATTGCACCATATGACGGATGCCGGAATTGGCACATAACAAGTAC
TGCCTCGGTCCTTAAGCTGTATTGCACCATATGACGGATGCCGGAATTGGCACATAACAACGGTCCTTAAGCTGTATTGCACCATATGACG
GATGCCGGAATTGGCACATAACAAGTACTGCCTCGGTCCTTAAGCTGTATTTCGGTCCTTAAGCTGTATTCCTTAACAACGGTCCTTAAGG
ATGCCGGAATTGGCACATAACAAGTACTGCCTCGGTCCTTAAGCTGTATTGCACCATATGACGGATGCCGGAATTGGCACATAACAAGTAC
TGCCTCGGTCCTTAAGCTGTATTGCACCATATGACGGATGCCGGAATTGGCACATAACAACGGTCCTTAAGCTGTATTGCACCATATGACG
GATGCCGGAATTGGCACATAACAAGTACTGCCTCGGTCCTTAAGCTGTATTTCGGTCCTTAAGCTGTATTCCTTAACAACGGTCCTTAAGG


Version Control with Git
19 October 2025
14 October 2025
For-profit: 1000 CHF
No future instance of this course is planned yet
Overview
Git is an open source version control system for tracking changes in code and other types of text documents. First released in 2005, Git has become the de-facto standard for version control, and is extensively used in both open source and commercial software development. Beyond software development, Git has also proven to be an essential tool in reproducible research - allowing to keep track of files such as data analysis scripts, pipelines, reports or more generally any text-based document. This 2-days course gives a comprehensive overview of Git and its most useful commands, as well as an introduction to collaborative workflows using GitHub through both theory and practical exercises.
Audience
This course is aimed at people who are interested in using a version control system for collaborative work, or simply to keep track of modifications in their scripts, files or code base. This includes people working on code development, but also scientists interested in improving the reproducibility of their data analyses by keeping track of their scripts using version control.
Learning objectives
At the end of the course, the participants are expected to have understood and practiced the following:
- Introduction to Version Control Systems.
- Basic Git concepts: commits, the HEAD pointer and the Git index.
- Git branches: introduction to branched workflows and collaborative workflow examples.
- Branch management: merge, rebase and cherry-pick.
- Retrieving data from the Git database: git checkout.
- Working with remotes: share your work and collaborate.
- Basics of GitHub and GitLab.
Prerequisites
Knowledge/competencies:
The course is focused on using Git in command line mode (no graphical user interface). It is therefore necessary to have some basic knowledge of UNIX command line, e.g. how to change directory or how to edit a file in a command line editor such as vim/nano.
If you are not familiar with these UNIX fundamentals, we strongly recommend you complete the following e-learning module before the start of the course.
Technical
This course will be streamed, you are thus required to have your own computer with an Internet connection and a working microphone.
Your computer must be installed with a recent version of Git. Git is available on all major platforms (https://git-scm.com/download).
Schedule
Day 1:
- Introduction to version control systems and Git.
- Git basics: creating a Git repository and making commits.
- Git concepts: commits, the HEAD pointer and the Git index.
- Git branches: introduction to branched workflows and collaborative workflow examples.
- Branch management: merge, rebase and cherry-pick.
- Retrieving data from the Git database: git checkout.
- Working with remotes: collaborating with Git and GitHub.
Day 2:
- Rewriting history: interactive rebase, git reset and commit amending.
- The detached HEAD state explained.
- The Git stash.
- Git tags: label important commits.
- GitHub: creating a new project, adding new users and collaborating wit them.
Application
Registration fees for academics are 200 CHF and 1000 CHF for for-profit companies.
While participants are registered on a first come, first served basis, exceptions may be made to ensure diversity and equity, which may increase the time before your registration is confirmed.
Applications will close as soon as the places will be filled up. Deadline for free-of-charge cancellation is set is set to 14/10/2025. Cancellation after this date will not be reimbursed. Please note that participation to SIB courses is subject to our general conditions.
You will be informed by email of your registration confirmation.
Venue and Time
This course will be streamed.
The course will start at 9:00 CET and end around 17:00 CET.
Precise information will be provided to the participants in due time.
Additional information
Coordination: Valeria Di Cola, SIB Training Group.
We will recommend 0.5 ECTS credits for this course (given a passed exam at the end of the course).
You are welcome to register to the SIB courses mailing list to be informed of all future courses and workshops, as well as all important deadlines using the form here.
For more information, please contact training@sib.swiss.