117

Is there a command like git push --tag tag_a? I only found git push --tags.

Yad Smood
  • 2,752
  • 2
  • 24
  • 37

2 Answers2

213

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
Pavel Šimerda
  • 5,783
  • 1
  • 31
  • 31
16

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 as refs/tags/<tag>:refs/tags/<tag>.

Walery Strauch
  • 6,792
  • 8
  • 50
  • 57