origin - git tag
How do you push a tag to a remote repository using Git? (7)
git push --follow-tags
This is a sane option introduced in Git 1.8.3:
git push --follow-tags
It pushes both commits and only tags that are both:
- 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
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:
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?
Please do not use it, if you are only looking for a command because the main intention of this solution is to introduce you a way of solutions !
To make life easier - i wrote a script git-cheat-sheet ,that contains some useful commands , including the following:
./git_commands.sh -push_tag TAG_NAME
If you are working in a branch:
git push --tags origin branch_name
Tags are not sent to the remote repository by the git push command. We need to explicitly send these tags to the remote server by using the following command:
git push origin <tagname>
We can push all the tags at once by using the below command:
git push origin --tags
Here are some resources for complete details on git tagging:
To push a single tag:
git push origin <tag_name>
And the following command should push all tags (not recommended):
git push --tags
To push specific, one tag do following
git push origin tag_name
You can push your local tags by simply
git push --tags command.
$ git tag # see tag lists $ git push origin <tag-name> # push a single tag $ git push --tags # push all local tags