Q:

Duplicated tag on remote?

I made two local tags, 1.0.0.1308 and 1.0.1.1308:
$ git show-ref
2cc0513083619934459832c175b433ee1ecfedf9 refs/heads/master
2cc0513083619934459832c175b433ee1ecfedf9 refs/remotes/origin/HEAD
2cc0513083619934459832c175b433ee1ecfedf9 refs/remotes/origin/master
8ba818dae2fd892b44df64e4a5ee9e07d4e682fb refs/tags/1.0.0.1308
dc4ea0fb4899ea6fffc47e203923a980c0de7d98 refs/tags/1.0.1.1308

When I git push --tags I got on the remote:
$ git ls-remote
2cc0513083619934459832c175b433ee1ecfedf9        HEAD
2cc0513083619934459832c175b433ee1ecfedf9        refs/heads/master
8ba818dae2fd892b44df64e4a5ee9e07d4e682fb        refs/tags/1.0.0.1308
6df34f6333097b77d8d6bb907155807b1e1cb19b        refs/tags/1.0.0.1308^{}
dc4ea0fb4899ea6fffc47e203923a980c0de7d98        refs/tags/1.0.1.1308
2cc0513083619934459832c175b433ee1ecfedf9        refs/tags/1.0.1.1308^{}

Why it created 1.0.0.1308^{} and 1.0.1.1308^{}?

P.S.: I just tried deleting the tag on the remote (git push origin :tagname), it also deletes the one with ^{}.

A:

The tagname^{} syntax means "the object to which the tag points". See man git-rev-parse.
Annotated tags consist of a tag object (which contains the tag message, and other data), which references another object (the thing which was actually tagged). The line refs/tags/1.0.1.1308 says that the tag object has the id dc4ea0f. 
The refs/tags/1.0.1.1308^{} line then tells whoever wants to know that the tag 1.0.1.1308 points to the object 2cc0513, which is probably a commit (although things other than commits can be tagged).
That is, when you tagged the object 2cc0513, you created a tag with id dc4ea0f.

