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-tags
Option " " 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 --tags
Option mit einer Referenzspezifikation wie der folgenden kombinieren :
git push origin --tags :
(da --tags
bedeutet: Alle Refs unter refs/tags
werden 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 origin
werden 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-tags
Parameter ist irreführend, da nur Tags unter .git/refs/tags
berücksichtigt werden.
Wenn git gc
es ausgeführt wird, werden Tags von .git/refs/tags
nach verschoben .git/packed-refs
. Danach git push --follow-tags ...
funktioniert es nicht mehr wie erwartet.
git push && git push --tags
?