Хороший вопрос. :) У меня нет полного ответа ...
Тем не менее, вы можете получить список удаленных тегов через git ls-remote
. Чтобы перечислить теги в репозитории, на которые ссылается origin
, вы должны выполнить:
git ls-remote --tags origin
Возвращает список хэшей и понятные имена тегов, например:
94bf6de8315d9a7b22385e86e1f5add9183bcb3c refs/tags/v0.1.3
cc047da6604bdd9a0e5ecbba3375ba6f09eed09d refs/tags/v0.1.4
...
2f2e45bedf67dedb8d1dc0d02612345ee5c893f2 refs/tags/v0.5.4
Вы, конечно, могли бы собрать скрипт bash, чтобы сравнить теги, сгенерированные этим списком, с тегами, которые вы используете локально. Посмотрите на git show-ref --tags
, который генерирует имена тегов в той же форме, что и git ls-remote
).
Кроме того, git show-ref
имеет опцию, которая противоположна тому, что вы хотели бы. Следующая команда выведет список всех тегов в удаленной ветви, которые вы не имеете локально:
git ls-remote --tags origin | git show-ref --tags --exclude-existing