A tag does not move
Unlike a branch, a tag points at one commit forever:
git tag v1.0 <hash>
That immovability is the whole point. A branch moves forward as you commit; a tag stays put so it always names the same snapshot. That is why releases can trust v1.0 to mean the same thing next year.