Этот вопрос похож на Как перечислять все теги, указывающие на конкретную фиксацию в git, но с одним отличием: я хочу искать все теги, которые содержат конкретную фиксацию в дереве каждого тега, а не только файлы, помеченные в самом теге (в этом случае было отмечено только изменение Makefile).
Как просмотреть все теги, содержащие фиксацию?
Ответ 1
git tag --contains <commit>
должно быть достаточно, правильно?
Ответ 2
Обратите внимание, что вам нужно git 2.0.x(Q3 2014), чтобы перечислить все теги для определенной фиксации , если у вас есть большое репо
См. commit cbc60b6 Жан-Жак Лафай (lanfeust69
):
git tag --contains
: избегать
В больших репозиториях реализация рекурсии
contains(commit, commit_list)
может привести к переполнению стека. Замените рекурсию на петлю, чтобы исправить ее.Эта проблема более очевидна в Windows, чем в Linux, где стек по умолчанию более ограничен.
См. также этот поток в списке msysGit.
Ответ 3
git tag --contains <sha1_hash>
должен работать