Reproducibility is an important aspect of scientific research. A version control system such as git can help considerably in this respect. It is also and excellent tool for collaboration. You can use version control on
- the text of publications when there are multiple authors;
- source code of applications that evolve over time;
- scripts for workflows, data preprocessing or postprocessing.
A version control systems helps you keep track of
- what changed,
- when it was changed,
- who made the change.
Learning outcomes
When you complete this training you will be able to
- use the git version control system in a single-user setting;
- use the git version control system in a multi-user setting;
- work with branches to separate concerns;
- examine the history of a project;
- use git though a GUI as well as the command line;
- create and manage repositories on Gitlab.
Schedule
Total duration: 4 hours
Time | Subject | Duration |
---|---|---|
09:00-09:15 | introduction and motivation | 15 min. |
09:15-09:45 | Gitlab: manage repositories | 30 min. |
09:15-10:30 | git GUI: single user scenario | 45 min. |
10:30-10:45 | coffee break | 15 min. |
10:45-11:30 | git GUI: multi-user scenario | 45 min. |
11:30-12:30 | git on the command line | 60 min. |
11:30-11:50 | advanced git features | 20 min. |
11:50-12:00 | wrap up | 10 min. |
Training materials
Slides are available in the GitHub repository, as well as material for hands-on.
Some best practices and advice are available online.
Video materials
Video recordings of this training are available on YouTube.
- Introduction & motivation (11.5 minutes)
- git repository hosting (6 minutes)
- SmartGit GUI client first push (6.5 minutes)
- Single user scenario (30 minutes)
- Single user scenario terminal demo (11 minutes)
- Multiple user scenario (24.5 minutes)
- Multiple user scenario demo (10 minutes)
- Some details (8 minutes)
- Contributing to repositories (13 minutes)
- Conclusions & references (3 minutes)
Target audience
This training is for you if you write texts or code, need to reproduce your experiments and collaborate on projects.
Prerequisites
For the part on using git from the command line, you will need familiarity with either the Linux bash shell, or Windows Command Prompt.
Trainer(s)
- Geert Jan Bex (geertjan.bex@uhasselt.be)