Вы должны иметь возможность использовать вызов «client.ResponseHeaders [..]», см. ссылку для примеров возврата материала из ответа
Хороший вопрос. :) У меня нет полного ответа ...
Тем не менее, вы можете получить список удаленных тегов через 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
Я добавляю команду к SourceTree
как Пользовательское действие на моей MacOS.
Установка Custom Actions
Sourcetree
-> Preferences...
-> Custom Actions
Script to run
должны быть эти git
путь.
я использую git fetch --prune --prune-tags origin
для синхронизации тегов от удаленного до локального.