Tag, You're It!
Tag, You’re It!
Section titled “Tag, You’re It!”Some moments deserve to be remembered forever — your first working prototype, a bug‑free release, or that one time you actually finished before the deadline.
That’s what tags are for. They mark milestones in your project’s history.
🧠 What a Tag Really Is
Section titled “🧠 What a Tag Really Is”A tag is a label attached to a specific commit — a snapshot in time we want to bookmark.
ASCII time‑stamp magic:
●──●──●──●──●──▶ ↑ v1.0.0 ← tagged commitTags don’t change or move. They’re fixed markers in history, perfect for releases and submissions.
💡 Professor Solo’s Pro Tip:
Commits tell a story, but tags define the chapters.
🧩 Step 1: Create a Tag
Section titled “🧩 Step 1: Create a Tag”There are two kinds of tags — lightweight and annotated.
Lightweight (quick and casual)
Section titled “Lightweight (quick and casual)”git tag v1.0.0Just a label — simple and fast.
Annotated (professional grade)
Section titled “Annotated (professional grade)”git tag -a v1.0.0 -m "First stable release"Includes the author, date, and a message — ideal for official milestones.
🧱 Step 2: View and Manage Tags
Section titled “🧱 Step 2: View and Manage Tags”List all tags in your repo:
git tagSee details for a specific tag:
git show v1.0.0Delete a tag (if needed):
git tag -d v1.0.0💡 Professor Solo’s Pro Tip:
Tags are like trophies — only delete them if you really didn’t earn them.
🧮 Step 3: Push Tags to GitHub
Section titled “🧮 Step 3: Push Tags to GitHub”By default, git push doesn’t send tags.
We need to share them explicitly:
git push origin --tagsOr push one tag at a time:
git push origin v1.0.0Now the tag appears on GitHub under the Releases section — easy for others to download or reference.
🧭 Step 4: Semantic Versioning (aka SemVer)
Section titled “🧭 Step 4: Semantic Versioning (aka SemVer)”Semantic Versioning is the industry’s way of numbering releases meaningfully.
MAJOR.MINOR.PATCH| Version | Meaning |
|---|---|
| 1.0.0 | First public or stable release |
| 1.1.0 | Added new features (backward compatible) |
| 1.1.1 | Bug fixes or small improvements |
| 2.0.0 | Breaking changes or major redesign |
💡 Professor Solo’s Pro Tip:
Start at v0.1.0 for early projects. Move to v1.0.0 when it’s showtime.
🧠 Step 5: Using Tags in the Real World
Section titled “🧠 Step 5: Using Tags in the Real World”| Context | Example |
|---|---|
| Student submission | v1.0.0-final |
| Midterm checkpoint | v0.5.0-midterm |
| Production release | v2.3.1 |
| Experimental branch | v0.9.0-beta |
We can even tag specific commits retroactively:
git tag -a v1.1.0 a1b2c3d -m "Add responsive layout"⚙️ Step 6: Releases on GitHub
Section titled “⚙️ Step 6: Releases on GitHub”GitHub turns tags into downloadable releases.
- Go to your repo’s Releases tab
- Click Draft a new release
- Choose your tag (or create one)
- Add release notes and publish
Perfect for sharing packaged builds, assignment submissions, or project milestones.
✅ Mission Check: You’ve Been Tagged
Section titled “✅ Mission Check: You’ve Been Tagged”By now, we can:
- Create lightweight and annotated tags
- View, delete, and push tags to GitHub
- Follow semantic versioning conventions
- Use tags to mark milestones and releases
- Publish official releases on GitHub
💡 Professor Solo says:
“Every project has a story.
Tags are how we name the chapters — and remember the hits.”