15

私の知る限り、git push --tagrefs/tags の下のすべてのタグをリモートにプッシュします。ワイルドカードまたは正規表現に一致するいくつかのタグのみをプッシュする方法が git にあるかどうか知りたいですか?

たとえば、私のレポにはタグ、、、v1.0およびがありv1.1ます。だけ押したい。私は試したv2.0v2.1v2.*

git push <repo> refs/tags/v2.*

エラーが発生しました

致命的: refspec のリモート部分は、refs/tags/v2.* の有効な名前ではありません

もちろんいつでもできる

cd .git && ls refs/tags/v2.* | xargs git push <repo>

しかし、これは気の毒なにおいがしません。

4

2 に答える 2

15
git tag | grep '^v2\.' | xargs --no-run-if-empty  git push <repo>
  • .gitディレクトリではないかもしれませんし、まったく存在しないかもしれません。サブモジュールには、ルート リポジトリを指すファイルがあります。または、別の場所にGIT_DIR設定することもできます。
  • 条件に一致するタグがない場合は、プッシュを実行したくありません。
于 2013-02-09T03:13:10.960 に答える