Git & Version ControlOptional

Tags, Releases & SemVer

Mark versions and communicate change with semantic versioning.

20 min read beginner 3 objectives

Status

Not started

What you will learn

  • Create annotated tags
  • Apply SemVer
  • Cut releases

New to this? Start here

The basics, in plain English

When software is ready to release, you mark that exact point in history with a tag and a version number, like v1.2.0. Versioning is the agreed way to name releases so everyone knows what changed.

Tag
A permanent label pinned to one commit, marking a release point.
Release
A specific, named version of the software handed to users.
SemVer
Semantic Versioning: numbers like 1.2.0 meaning major.minor.patch.
Major / minor / patch
Major = breaking changes, minor = new features, patch = small fixes.
Why version
So people can tell at a glance whether an update is safe or risky to take.
01

SemVer

MAJOR.MINOR.PATCH. Breaking changes bump major, features bump minor, fixes bump patch. Tags pin a commit as a release.

Try it yourself

bash
$git tag -a v1.2.0 -m "release 1.2.0"
Create an annotated tag marking a release.
$git push origin v1.2.0
Push the tag to the remote so others can see the release.
↳ lines explain what each command does — only the commands get copied

Finished this topic?

Mark it done to earn 100 XP and keep your streak alive.