I'm aware of the reason that git push --tags is a separate operation to plain old git push. Pushing tags should be a conscious choice since you don't want accidentally push one. That's fine. But is there a way to push both together? (Aside from git push && git push --tags.)
views:
51answers:
1The nuclear option would be git push --mirror, which will push all refs under refs/.
You can also push just one tag with your current branch commit:
git push origin : v1.0.0
You can combine the --tags option with a refspec like:
git push origin --tags :
(since --tags means: All refs under refs/tags are pushed, in addition to refspecs explicitly listed on the command line)
You also have this entry "Pushing branches and tags with a single "git push" invocation"
A handy tip was just posted to the Git mailing list by Zoltán Füzesi:
I use
.git/configto solve this:
[remote "origin"]
url = ...
fetch = +refs/heads/*:refs/remotes/origin/*
push = +refs/heads/*
push = +refs/tags/*
With these lines added
git push originwill upload all your branches and tags. If you want to upload only some of them, you can enumerate them.Haven't tried it myself yet, but it looks like it might be useful until some other way of pushing branches and tags at the same time is added to git push.
On the other hand, I don't mind typing:
$ git push && git push --tags