タグを使用して、リリース バージョンを識別し、タスクの「開発完了」コミットを識別しています。を実行するgit tag
と、次のようなリストが表示されます。
> git tag
v0.1.0
task_1768
task_2011
task_1790
task_1341
v0.1.1
task_2043
task_2311
v0.1.2
すべてのタグがブランチのコミットを指していると仮定するとmaster
、いくつかのタグ以降のすべてのタグを一覧表示する方法はありますか? たとえば、v0.1.2
リリースに含まれるすべてのタスクのリストを生成するには、次のようなものを探しています (実際のコマンドではありません)。
> git tag -l "task_*" --since v0.1.1
次のような出力を取得します。
task_2043
task_2311
これを行う方法はありgit tag
ますか?
これを行う方法はありgit rev-list
ますか?
(または他のgitコマンド?)
アップデート
回答とコメントに基づいて、私が現在使用しているものは次のとおりです。
> git log v0.1.1.. --decorate | grep -Eow 'tag: ([a-zA-Z0-9.-_]*)' | awk '{ print substr($0, 6); }'
task_2043
task_2311
v0.1.2
> git log v0.1.1.. --decorate | grep -Eow 'tag: ([a-zA-Z0-9.-_]*)' | awk '{ print substr($0, 6); }' | grep -Eo 'task_.*'
task_2043
task_2311
2回目の更新
新しく選択された回答。これはまさに私が最初に探していたものです。はるかにエレガント。
> git tag --contains v0.1.1
v0.1.1
task_2043
task_2311
v0.1.2
> git tag --contains v0.1.1 | grep -Eo 'task_.*'
task_2043
task_2311