Update Mai 2015
Ab Git 2.4.1 können Sie dies tun
git config --global push.followTags true
Wenn auf true gesetzt, aktivieren Sie standardmäßig die Option --follow-tags.
Sie können diese Konfiguration zum Zeitpunkt des Push überschreiben, indem Sie --no-follow-tags angeben.
Wie in diesem Thread von Matt Rogers erwähnt, der Wes Hurd antwortet :
--follow-tags schiebt nur kommentierte Tags .
git tag -a -m "I'm an annotation" <tagname>
Das würde geschoben werden (im Gegensatz zu git tag <tagname>einem leichten Tag, das nicht geschoben würde, wie ich hier erwähnte )
Update April 2013
Seit Git 1.8.3 (22. April 2013) müssen Sie nicht mehr zwei Befehle ausführen, um Zweige und dann Tags zu verschieben :
Die neue --follow-tagsOption " " weist " git push" an , relevante mit Anmerkungen versehene Tags zu verschieben, wenn Zweige herausgeschoben werden .
Sie können jetzt versuchen, wenn Sie neue Commits pushen:
git push --follow-tags
Dadurch werden jedoch nicht alle lokalen Tags gepusht, sondern nur die, auf die durch Commits verwiesen wird, die mit dem gepusht werden git push.
In Git 2.4.1+ (2. Quartal 2015) wird die Option eingeführt push.followTags: Siehe " So wird" git push"Tags in einen Zweig aufgenommen? ".
Ursprüngliche Antwort, September 2010
Die nukleare Option wäre git push --mirror, die alle Schiedsrichter unter Druck setzen wird refs/.
Sie können mit Ihrem aktuellen Branch Commit auch nur ein Tag pushen:
git push origin : v1.0.0
Sie können die --tagsOption mit einer Referenzspezifikation wie der folgenden kombinieren :
git push origin --tags :
(da --tagsbedeutet: Alle Refs unter refs/tagswerden gepusht, zusätzlich zu den Refspecs, die explizit in der Befehlszeile aufgeführt sind )
Sie haben auch diesen Eintrag " Verschieben von Zweigen und Tags mit einem einzigen" Git Push "-Aufruf "
Ein praktischer Tipp wurde gerade von Zoltán Füzesi auf die Git-Mailingliste gesetzt :
Ich benutze .git/config, um dies zu lösen:
[remote "origin"]
url = ...
fetch = +refs/heads/*:refs/remotes/origin/*
push = +refs/heads/*
push = +refs/tags/*
Wenn diese Zeilen hinzugefügt werden, git push originwerden alle Ihre Zweige und Tags hochgeladen. Wenn Sie nur einige davon hochladen möchten, können Sie sie auflisten.
Ich habe es noch nicht selbst ausprobiert, aber es sieht so aus, als ob es nützlich sein könnte, bis eine andere Möglichkeit zum gleichzeitigen Verschieben von Zweigen und Tags zu git push hinzugefügt wird.
Andererseits macht es mir nichts aus zu tippen:
$ git push && git push --tags
Vorsicht , wie von Aseem Kishore kommentiert
push = +refs/heads/*wird alle deine Zweige zwangsschieben .
Das hat mich gerade gebissen, also zu Ihrer Information.
René Scheibe fügt diesen interessanten Kommentar hinzu :
Der --follow-tagsParameter ist irreführend, da nur Tags unter .git/refs/tagsberücksichtigt werden.
Wenn git gces ausgeführt wird, werden Tags von .git/refs/tagsnach verschoben .git/packed-refs. Danach git push --follow-tags ...funktioniert es nicht mehr wie erwartet.
git push && git push --tags?