単純にバージョンを文字列としてソートしてtail -1
しまうと、v.1
<v1.10
<v1.3
のような順序になってしまい意図したバージョンが取得できません。git versionに合ったコマンドを使うことで、ワンライナーでよしなに最新バージョンを取得できます。
結論
タグ名がv
で始まることを前提にしています。そうでない場合は、オプションを適宜変更してください。
git 2.0以降
git tag -l --sort=v:refname "v*" | tail -1
-
"v*"
: tag名をfilterしています。この引数は無くても動作します
git 2.0未満
git tag -l | grep -P '^v' | sort -V | tail -1
-
sort -V
: versionを含んだ文字列をよしなにソートができます。他にも応用が効くので覚えておくと便利です - grepは無くても動作します
参考