Удалите локальные теги git, которых больше нет в удаленном хранилище.

Вы должны иметь возможность использовать вызов «client.ResponseHeaders [..]», см. ссылку для примеров возврата материала из ответа

413
задан Stevoisiak 14 March 2018 в 17:41
поделиться

2 ответа

Хороший вопрос. :) У меня нет полного ответа ...

Тем не менее, вы можете получить список удаленных тегов через 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
66
ответ дан 22 November 2019 в 23:16
поделиться

Я добавляю команду к SourceTree как Пользовательское действие на моей MacOS.


Установка Custom Actions Sourcetree-> Preferences...-> Custom Actions


Script to run должны быть эти git путь.

я использую git fetch --prune --prune-tags origin для синхронизации тегов от удаленного до локального.

enter image description here enter image description here

0
ответ дан 22 November 2019 в 23:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: