2015-06-11 2 views
0

Это сценариймерзавец тега -l не удаляет удаленные тегов

Я клонировал мой репозиторий в каталог, который я регулярно обновлять по

git pull 

Теперь я создал еще один каталог и проверил репозиторий

мне пришлось создать несколько тегов, но по ошибке я создал тег с неправильным именем поэтому я удалил тег из первого каталога

git tag -d old 
git push origin :refs/tags/old 
git push --tags 

Если из второго каталога Я пытаюсь

git tag -l 

Я не в состоянии получить синхронизированную информацию тега не удаляются из списка

Тогда я сделал

git pull --tags 

Добавлены теги получать отраженные, но удаленные теги не удаляются.

git pull origin --tags 

Никакие изменения не приведут

Как я могу получить синхронизированный список, так что теги удален также отражены в другом каталоге.

+0

возможно дубликат [Удалить локальные теги, которые больше не на удаленном хранилище] (http://stackoverflow.com/questions/1841341/remove-local-tags-that-are-no-longer-on -the-remote-repository) – larsks

ответ

1

Следующие действия удаляют любые локальные теги, которые не находятся на пульте дистанционного управления.

git fetch origin refs/tags/*:refs/tags/* --prune 

Для автоматической загрузки тегов, добавьте следующую строку в файл .git/config под запись для [remote "origin"].

fetch = refs/tags/*:refs/tags/* 
+0

Спасибо @Joseph K. Strauss. первая команда делает трюк. Но для второго у меня нет fetch = refs/tags/*: refs/tags/* под моим удаленным я могу добавить его любой командой без редактирования .git/config –

Смежные вопросы