linuxを使用していますか?あなたは、このコマンドを使用することができる場合
git ls-remote --tags | grep -o 'refs/tags/dev-[0-9]*\.[0-9]*\.[0-9]*' | sort -r | head | grep -o '[^\/]*$'
は、それはあなたの
UPD(名前DEV-XYZ付き)10個の最新のタグが表示されます
あなたは、最新のタグを取得するには、このbashスクリプトを使用することができます。
#!/bin/bash
TAGS=("dev-[0-9]*\.[0-9]*\.[0-9]*" "test-[0-9]*\.[0-9]*\.[0-9]*" "good-[0-9]*" "new [0-9][0-9][0-9]")
for index in ${!TAGS[*]}
do
git ls-remote --tags | grep -o "refs/tags/${TAGS[$index]}" | sort -rV | head | grep -o '[^\/]*$'
done
だけ配列タグにしたい正規表現を追加し、あなたはそれらのすべてのために10の最新のタグを取得します。多かれ少なかれタグを取得したい場合は、headコマンド 'head -n 5'または 'head -n 15'にparam -nを追加するだけです。
〜/ binフォルダに保存して(例えばgit_tagsという名前で)実行可能パーミッション(chmod + x git_tags)を追加すると、このbashスクリプトをあらゆる場所から実行できます(git_tagsとタイプするだけです)。
を取得するには、言うことができますあなたは多くの「テスト」のタグを持つこと 'GitのLS-remote'の出力に含まれないために、「DEV」のタグを引き起こすことを言っていますか?私はそれが信じがたいことがわかります。あなたが望むタグ( 'git ls-remote ... dev- *')だけに出力を制限するタグパターンを指定するとどうなりますか? –
最後のタグが10個必要な場合は、10個以上の「テスト」タグがあれば、新しい「dev」タグは表示されません。 – Psychozoic
私は必要に応じてGroovyスクリプトを動作させようとしています。 Groovyのスクリプトは私がそこに見た:http://stackoverflow.com/questions/7157170/can-i-get-jenkins-to-build-a-git-tag-from-a-passed-in-parameter – Psychozoic