Git: Tags & Releases

FAIR & Reproducible Teaching with Quarto & Git
Course at University of Hamburg
Slides | Source
License: CC BY 4.0

15:30

Schedule

Day 1

Day Date Time Title
1 2026-03-20 09:30 - 10:00 Welcome & Introduction
1 2026-03-20 10:00 - 10:30 Quarto: Introduction
1 2026-03-20 10:30 - 10:45 Quarto: Presentations
1 2026-03-20 10:45 - 11:00 Git: Setup & Configuration
1 2026-03-20 11:00 - 11:15 Command Line
1 2026-03-20 11:15 - 12:00 Git: Basics
1 2026-03-20 12:00 - 13:00 Lunch Break
1 2026-03-20 13:00 - 14:00 Git: Remotes
1 2026-03-20 14:00 - 15:00 Git: Collaboration
1 2026-03-20 15:00 - 15:30 Quarto: Publication to GitHub Pages
1 2026-03-20 15:30 - 16:00 Git: Tags & Releases

1 Last session

Last session: Learning objectives

After the last session, you should now be able to answer the following questions / do the following:

💡 You know the purpose and components of a Pull Request.
💡 You know how to collaborate using the popular workflow strategy GitHub flow.
💡 You know the purpose and components of a README file.
💡 You can fork a repository.
💡 You can create a Pull Request from a forked repository.
💡 You can protect your main branch.

2 This session: Git: Tags & Releases

Objectives

💡 You understand why Git Tags matter in version control and project management.
💡 You know the difference between lightweight and annotated tags and how to apply them.
💡 You can push and pull tags to a remote repository (e.g., GitHub).
💡 You understand how GitHub releases complement Git Tags.
💡 You can use Zenodo to archive your repository and make your work citable.

Reading

Tags & Releases

Tags & Releases: Examples

Example 1: MATLAB code for an experimental task in research

https://github.com/lnnrtwttkhn/highspeed-task

Advantages

  1. Reusability: Code is on GitHub and can be forked, reviewed, reused, extended, etc.
  2. Reproducibility: The specific version that was used in the original study is tagged.
  3. Modularity: Other researchers can independently reuse only the code for the experimental task.
  4. Backup: Code can be accessed in at least two locations.
  5. Independence: If GitHub disappears, a copy of the code is still on Zenodo.
  6. Recognition: Other researchers can cite the code + views and downloads metrics on Zenodo.

Example 2: Code releases in software development

https://github.com/lnnrtwttkhn/version-control-book/releases/tag/v1.0

Advantages (non-exhaustive list)

  • Automated Change Log based on PR titles
  • Automated appreciation of new contributors

Tasks

In this session, you will work on the following tasks:

  1. Reading: Read the chapter(s) Tags & Releases in the Version Control Book.
  2. Implementation: Try out the commands in the chapter.
  3. Exercises: Work on the exercises.

As always:

  1. Try out the commands of this session and play around with them.
  2. Check whether you have achieved the learning objectives.
  3. Ask questions!

Exercises

Task 1: Create a Tag

  1. Preparation: Clean-up your repo, merge any changes that you still want to integrate.
  2. Publish your repo: Go to “Settings”, click “General”, scroll down and change repository visibility.
  3. Create an annotated tag on the main branch in your my-project repo named v1.0.0.
  4. Push the tag to GitHub.
  1. Create a Zenodo account by visiting the Zenodo website and signing up.
  2. Link your GitHub account to Zenodo.
  3. Go to the GitHub section in the Zenodo sandbox and enable syncing your my-project repository.

Task 3: Create a GitHub Release and mint a DOI

  1. Go to your repository on GitHub.
  2. Click on “Releases” then “Draft a new release”.
  3. Choose the tag v1.0.0 from the list.
  4. Fill in the release title and description.
  5. Click “Publish release”.
  6. Go to the GitHub section in the Zenodo sandbox and look at your DOI.

3 Solutions

Solutions

TBA