A tag names a particular snapshot. Unlike an active branch, it does not move forward when you make another commit. That makes a tag useful for marking a release baseline. Create it at the requested commit rather than whichever branch happens to be active. A branch with the same text is a different kind of reference. These tasks use a clean current snapshot so you can focus on the release name and inspect it afterward. A release label created on the base commit remains there after the branch advances. Inspect the referenced snapshot when the requested release contains a newer fix; an existing label can still point at the wrong tree.