2

特定のファイルを含む git タグのリストを取得する方法はありますか?

4

4 に答える 4

4

これは、特定のファイルを含むタグのリストを取得するために行ったことです。

1) ファイルを紹介する最初のコミット ID を取得します。git log コマンドを使用できます。

git log -- <path/to/filename>

2) コミット ID を含むタグを一覧表示します。

git tag --contains <CommitId>

これは間違っているかもしれません。ということで、他の方の回答を待ちたいと思います。ありがとう。

于 2012-07-12T09:42:42.760 に答える
1

xargsにパイプして、各タグを確認するだけです。

git tag | xargs -i{} bash -c 'git ls-tree -r {} | grep yourfile >/dev/null && echo {}'
于 2012-07-12T09:36:13.160 に答える
1
git for-each-ref 'refs/tags/*' | while read rev type name
do
  [ -n "$(git ls-tree $rev -- "$filename")" ] && echo $name
done | sed -e 's/^refs\/tags\///'
于 2012-07-12T09:46:14.317 に答える
0

git だけで行う方法はわかりませんが、bash との闘いの結果は次のとおりです。

for tag in `git tag -l`; do [ -n "`git ls-tree $tag path/to/file`" ] && echo $tag; done
于 2012-07-12T09:15:40.680 に答える