Challenge - 5 Problems
Semantic Versioning Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate1:30remaining
Identify the output of a semantic version tag listing command
You run the command
git tag --list 'v1.*' in a repository with these tags: v1.0.0, v1.2.3, v2.0.0, v1.10.0. What is the output?Git
git tag --list 'v1.*'
Attempts:
2 left
💡 Hint
The pattern 'v1.*' matches tags starting with 'v1.' exactly.
✗ Incorrect
The command lists all tags starting with 'v1.'. Tags 'v1.0.0', 'v1.10.0', and 'v1.2.3' match. 'v2.0.0' does not.
🧠 Conceptual
intermediate1:30remaining
Understanding semantic versioning tag meaning
In semantic versioning, what does the tag
v2.3.0 indicate about the software compared to v2.2.5?Attempts:
2 left
💡 Hint
Semantic versioning format is MAJOR.MINOR.PATCH.
✗ Incorrect
The minor version increased from 2 to 3, indicating new backward-compatible features. Patch updates fix bugs without new features.
🔀 Workflow
advanced2:00remaining
Create a new semantic version tag for a patch update
You have a repository with the latest tag
v1.4.2. You fixed a bug and want to create a new patch version tag. Which command correctly creates the new tag v1.4.3 and pushes it to origin?Attempts:
2 left
💡 Hint
Annotated tags include a message and are pushed explicitly.
✗ Incorrect
Option C creates an annotated tag with a message and pushes it. Option C creates a lightweight tag without message. Option C has wrong flag usage. Option C pushes before tagging.
❓ Troubleshoot
advanced1:30remaining
Troubleshoot missing semantic version tags after clone
You cloned a repository but
git tag shows no tags. What is the most likely reason?Attempts:
2 left
💡 Hint
Tags are references that may not be fetched automatically.
✗ Incorrect
By default, 'git clone' fetches tags, but if shallow clone or specific options are used, tags may be missing. Running 'git fetch --tags' fixes this.
✅ Best Practice
expert2:00remaining
Choose the best semantic version tag for a breaking change
You made a change that breaks backward compatibility in your software currently at
v3.5.1. Which tag should you create next following semantic versioning?Attempts:
2 left
💡 Hint
Major version changes indicate breaking changes.
✗ Incorrect
Semantic versioning requires incrementing the major version for breaking changes. Minor and patch versions are for backward-compatible changes.