Chapter 3: Version control

Tag

A permanent name for one commit, usually a release such as v1.2.0. Unlike a branch, it doesn't move when you commit. An annotated tag also records who made it, when, and a message.

A tag gives you and your agent a fixed point: compare against v1.2.0, go back to the last release. An agent that moves a published tag breaks that promise for everyone who already has it, so treat tags as write-once.

Say it to your agent

“Tag this release with git tag -a v1.3.0 -m "Adds CSV export", then push it with git push origin v1.3.0. If the tag turns out wrong, make v1.3.1. Never move or delete a tag that is already pushed.”

The workshop

Name a word, or describe what you mean in everyday language.