How to push a tag to a remote repository using Git?

I have cloned a remote Git repository to my laptop, then I wanted to add a tag so I ran

git tag mytag master

When I run git tag on my laptop the tag mytag is shown. I then want to push this to the remote repository so I have this tag on all my clients, so I run git push but I got the message:

Everything up-to-date

And if I go to my desktop and run git pull and then git tag no tags are shown.

I have also tried to do a minor change on a file in the project, then push it to the server. After that I could pull the change from the server to my Desktop computer, but there's still no tag when running git tag on my desktop computer.

How can I push my tag to the remote repository so that all client computers can see it?


To push a single tag:

git push origin <tag_name>

And the following command should push all tags (not recommended):

git push --tags

--follow-tags is a sane option introduced in Git 1.8.3:

git push --follow-tags

It pushes both commits and only tags that are both:

  • annotated
  • reachable (an ancestor) from the pushed commits
  • This is sane because:

  • you should only push annotated tags to the remote, and keep lightweight tags for local development to avoid tag clashes. See also: What is the difference between an annotated and unannotated tag?
  • it won't push annotated tags on unrelated branches
  • It is for those reasons that --tags should be avoided.

    Git 2.4 has added the push.followTags option to turn that flag on by default which you can set with:

    git config --global push.followTags true
    

    要推特定的,一个标签做下面的git push origin tag_name

    链接地址: http://www.djcxy.com/p/698.html

    上一篇: 如何确定一个对象是否在JavaScript中有一个给定的属性

    下一篇: 如何使用Git将标签推送到远程存储库?