How to only push a specific tag to remote?
You can simply use:
git push origin tag_a
Alternatively (mainly to solve tag/branch name clashes), you could use:
git push origin refs/tags/tag_a
As pointed out by Pavel Šimerda, you can simply do
git push <remote> <tag>
I've added the specification for a remote <remote>
so that the command doesn't depend on a user's push.default
configuration.
Here is a summary of the relevant documentation that explains how to push a specific tag:
git push [<repository> [<refspec>…]] <refspec>...
The format of a
<refspec>
parameter is…the source ref<src>
, followed by a colon:
, followed by the destination ref<dst>
…The
<dst>
tells which ref on the remote side is updated with this push…If:<dst>
is omitted, the same ref as<src>
will be updated…tag
<tag>
means the same asrefs/tags/<tag>:refs/tags/<tag>
.