Git でタグのリストを取得できるかどうか (コマンドの結果によく似ています) を知りたいのですgit tagが、リストは特定のブランチのみに制限する必要があります。
これが可能である場合、誰でもこれがどのように行われるか説明できますか? おそらく、パターンマッチングの魔法でしょうか?
私はこれがあなたが望むことをすると思います:
git log --pretty='%H' <branch> |
xargs -n1 git describe --tags --exact-match 2>/dev/null
これはgit log、ブランチ内のコミットのリストを取得するために使用し、それらを渡してgit describeタグに対応するかどうかを確認します。
新しいgitタグオプションを使用すると、別のアプローチが可能になります--merged(git 2.7+、2015年第4四半期)
git tag --merged <abranchname>
コミット 5242860、... (2015 年 9 月 10 日) によるKarthik Nayak ( KarthikNayak)を参照してください。
( 2015 年 10 月 5 日にコミット 8a54523でJunio C Hamanogitsterによってマージされました)
tag.c: '--merged' および '--no-merged' オプションを実装
' ' API を使用して、' ' および ' ' オプションを ' '
ref-filterに実装してください。--merged--no-mergedtag.c
- '
--merged' オプションを使用すると、ユーザーは名前付きコミットにマージされたタグのみを一覧表示できます。- '
--no-merged' オプションを使用すると、ユーザーは名前付きコミットにマージされていないタグのみを一覧表示できます。オブジェクトが指定されていない場合は、オブジェクトと見なさ
HEADれます。