Bird
Raised Fist0
Gitdevops~20 mins

Creating tags in Git - Practice Exercises

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Tag Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
Output of creating an annotated tag
What is the output of running the following command in a Git repository?
git tag -a v1.0 -m "Release version 1.0"
Git
git tag -a v1.0 -m "Release version 1.0"
ACreates an annotated tag named v1.0 with the message 'Release version 1.0' and no output is shown
BCreates a lightweight tag named v1.0 and outputs 'Tag v1.0 created'
CCreates an annotated tag named v1.0 and outputs 'Annotated tag v1.0 created with message Release version 1.0'
DThrows an error because the -m option is invalid with -a
Attempts:
2 left
💡 Hint
Annotated tags store extra information like messages but do not print output by default.
🧠 Conceptual
intermediate
2:00remaining
Difference between lightweight and annotated tags
Which statement correctly describes the difference between lightweight and annotated tags in Git?
ALightweight tags are simple pointers to commits; annotated tags store extra metadata like author, date, and message
BAnnotated tags are pointers to branches; lightweight tags store commit messages
CLightweight tags can only be created locally; annotated tags are automatically pushed to remote
DAnnotated tags are temporary and deleted after checkout; lightweight tags are permanent
Attempts:
2 left
💡 Hint
Think about what extra information annotated tags hold compared to lightweight tags.
🔀 Workflow
advanced
2:30remaining
Correct sequence to create and push an annotated tag
What is the correct order of commands to create an annotated tag named v2.0 with message 'Second release' and push it to the remote repository?
A4, 1, 3, 2
B1, 4, 2, 3
C1, 2, 4, 3
D4, 1, 2, 3
Attempts:
2 left
💡 Hint
You must be on the correct branch before tagging, then push the tag, then update local info.
Troubleshoot
advanced
2:00remaining
Error when pushing tags to remote
You created a tag locally using git tag v3.0 but when you run git push, the tag does not appear on the remote. What is the reason?
AThe tag name v3.0 is invalid and rejected by the remote
BTags are not pushed by default with 'git push'; you must explicitly push tags
CYou need to delete the tag locally and recreate it as annotated to push
DThe remote repository does not support tags
Attempts:
2 left
💡 Hint
Think about how Git handles tags during push operations.
Best Practice
expert
3:00remaining
Recommended practice for tagging releases in a team
Which practice is best when multiple developers create tags for releases in a shared Git repository?
AUse only lightweight tags locally and convert them to annotated tags on the remote
BEach developer creates tags locally and never pushes them to avoid conflicts
CAgree on a naming convention and push tags to remote immediately after creation
DAvoid using tags and rely only on branch names for releases
Attempts:
2 left
💡 Hint
Think about coordination and clarity in a team environment.

Practice

(1/5)
1. What is the primary purpose of creating a tag in Git?
easy
A. To label important commits like releases
B. To delete old branches
C. To merge two branches
D. To create a new branch

Solution

  1. Step 1: Understand what tags do in Git

    Tags are used to mark specific points in history as important, often for releases.
  2. Step 2: Compare options with the purpose of tags

    Only To label important commits like releases correctly describes tagging as labeling important commits.
  3. Final Answer:

    To label important commits like releases -> Option A
  4. Quick Check:

    Tags mark commits = B [OK]
Hint: Tags mark releases or important commits [OK]
Common Mistakes:
  • Confusing tags with branches
  • Thinking tags delete commits
  • Assuming tags merge code
2. Which command correctly creates a lightweight tag named v1.0 in Git?
easy
A. git tag v1.0
B. git create tag v1.0
C. git tag -c v1.0
D. git tag --new v1.0

Solution

  1. Step 1: Recall the syntax for creating a lightweight tag

    The correct syntax is git tag <tagname> without extra flags.
  2. Step 2: Check each option for correctness

    Only git tag v1.0 matches the correct syntax; others use invalid commands or flags.
  3. Final Answer:

    git tag v1.0 -> Option A
  4. Quick Check:

    Simple tag command = A [OK]
Hint: Use 'git tag <tagname>' to create a tag [OK]
Common Mistakes:
  • Adding incorrect flags like --new
  • Using 'create' keyword which is invalid
  • Confusing tag creation with branch creation
3. What will be the output of the command git tag after running git tag v2.0?
medium
A. Shows an error about missing tag name
B. Lists all tags including v2.0
C. Deletes the tag v2.0
D. Shows the commit history

Solution

  1. Step 1: Understand what git tag does

    Running git tag lists all tags in the repository.
  2. Step 2: Consider the effect of creating tag v2.0

    After creating v2.0, it will appear in the list shown by git tag.
  3. Final Answer:

    Lists all tags including v2.0 -> Option B
  4. Quick Check:

    git tag lists tags = A [OK]
Hint: git tag lists all tags created [OK]
Common Mistakes:
  • Expecting git tag to show errors without reason
  • Thinking git tag deletes tags
  • Confusing git tag with git log
4. You tried to create a tag with git tag -a v1.1 but forgot to add a message. What will happen?
medium
A. Git deletes the previous tag named v1.1
B. Git creates the tag without a message
C. Git opens an editor to enter the tag message
D. Git shows a syntax error and does not create the tag

Solution

  1. Step 1: Understand the -a flag for annotated tags

    The -a flag creates an annotated tag which requires a message.
  2. Step 2: Behavior when no message is provided

    If no message is given with -m, Git opens the default editor to enter the message.
  3. Final Answer:

    Git opens an editor to enter the tag message -> Option C
  4. Quick Check:

    Annotated tag needs message = D [OK]
Hint: Annotated tags need messages; editor opens if missing [OK]
Common Mistakes:
  • Assuming tag is created without message
  • Expecting syntax error without message
  • Confusing annotated and lightweight tags
5. You created a tag v3.0 locally but want to share it with your team. Which command should you use?
hard
A. git push origin master
B. git tag push v3.0
C. git push origin v3.0
D. git push origin --tags

Solution

  1. Step 1: Understand how to push a specific tag

    To share a single tag, use git push origin <tagname>. To share all tags, use git push origin --tags.
  2. Step 2: Check other options

    git push origin --tags pushes all tags, git push origin master pushes the branch, and git tag push is invalid.
  3. Final Answer:

    git push origin --tags -> Option D
  4. Quick Check:

    Push all tags with git push origin --tags = B [OK]
Hint: Push all tags with 'git push origin --tags' [OK]
Common Mistakes:
  • Using 'git tag push' which is invalid
  • Pushing branch instead of tag
  • Pushing single tag when all are needed