13
AFAIK, git push --tag
schiebt alle Tags unter refs/tags zu remote. Ich möchte wissen, ob es einen Weg in Git gibt, nur einige Tags zu drücken, die einem Wildcard oder Regexp entsprechen?git: nur bestimmte Tags pushen
Zum Beispiel hat mein Repo Tag v1.0
, v1.1
, v2.0
und v2.1
. Ich möchte nur v2.*
drücken. Ich habe versucht,
git push <repo> refs/tags/v2.*
und erhielt Fehler
fatal. Abgelegenen Teil Refspec ist kein gültiger Name in refs/tags/v2 *
Natürlich kann ich immer tun
cd .git && ls refs/tags/v2.* | xargs git push <repo>
Aber das riecht nicht Gity.
Was ist, wenn es einen lokalen Zweig namens "v2.0" gibt? Wie löst 'git push' mehrdeutige Namen auf? –
Es ist keine gute Idee, Tags und Zweige mit demselben Namen zu haben. Git macht das nicht gut. Verwenden Sie "v2.0" für Tags und etwas wie "stable-2.x" für Zweige. Beispiel: http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary –
Siehe ['gittrevisions'] (http://www.kernel.org/ pub/software/scm/git/docs/gitrevisons.html) ("Wenn mehrdeutig, wird eine durch die erste Übereinstimmung in den folgenden Regeln disambiguiert"). –
Joe