Ответ 1
Если вас раздражают эти воссозданные теги при запуске git pull
, вы отключите выборку тегов по умолчанию с помощью remote. < remote-name > . tagopt. например если пульт origin
, то вы можете сделать:
git config remote.origin.tagopt --no-tags
Обновление: чтобы ответить на ваш комментарий, причина, по которой я предлагаю это, заключается в том, что нет очевидного способа рассказать разницу между тегом, который был создан локально, и те, которые были получены с удаленного. Для тегов также нет reflog
. Итак, мое предложение состоит в том, чтобы отключить автоматическую выборку тегов - вы можете сами их забрать в другое пространство имен. Например, вы можете сделать:
git fetch origin +refs/tags/*:refs/tags/origin/*
... и, возможно, создать для него псевдоним. Затем, когда вы хотите получить теги, они будут называться, например, refs/tags/origin/tag1
вместо refs/tags/tag1
.
Если вы хотите, чтобы это произошло автоматически, вы можете изменить свой .git/config
, чтобы перечислить несколько refspec для извлечения, например:
[remote "origin"]
url = [email protected]:whatever.git
fetch = +refs/heads/*:refs/remotes/origin/*
fetch = +refs/tags/*:refs/tags/origin/*
... который предлагается в Pro Git.