This question arises more out of curiosity and not due to issues faced while using git.
git allows you to make empty commits with git commit -m "message" --allow-empty
You can also tag specific revisions using git tag -a v1.4 -m 'my version 1.4'.
For all practical purposes I can think of right now, like making a tag to signify an important commit, deploying a particular tag, creating tag to specify version bumps, we can create an empty commit with the same message and then use it instead of the tag.
So, what is the advantage of using tags over empty commits, and vice versa?
--allow-emptyoption and its intended usage.git checkout v1.4. Without a tag you have to find the commit you want and then dogit checkout a29bff3or whatever—much less straightforward. Tools like GitHub also treat tags specially in a similar way.