В настоящее время у меня есть удаленная настройка git, как показано ниже:
[remote "upstream"]
url = <redacted>
fetch = +refs/heads/*:refs/remotes/upstream/*
Когда я запускаю git pull
ветку master, все удаленные заголовки извлекаются в remote / upstream, а затем remotes / upstream / master объединяется с master. Любые теги, которые могут быть достигнуты, также извлекаются одновременно, что очень удобно.
Я хотел бы git pull
дополнительно получить все метки с пульта, а не только те, которые непосредственно доступны из голов. Первоначально я попытался tagopt == --tags
установить, но обнаружил, что это привело к выборке только тегов и тем самым сломал все. (Джунио даже говорит, что это ужасное искажение ).
Есть ли способ сделать git pull
выборку всех удаленных тегов по умолчанию, кроме удаленных головок?
git push origin <tag_name>
tagopt
решения больше не является неправильной конфигурацией; по состоянию на 1.9 / 2.0 (1 квартал 2014 года) будут получены все теги в дополнение к обычному.Ответы:
Вы должны быть в состоянии сделать это, добавив refspec для тегов в вашу локальную конфигурацию. В частности:
источник
Простое
git fetch --tags
сработало для меня.источник
git ls-remote
.--force
Опция полезна для обновления локальных меток. В основном, если у вас есть плавающие теги:У опции git pull также есть
--force
опции, и описание такое же:но, согласно документу
--no-tags
:Если это заявление по умолчанию не является ограничением, то вы также можете попробовать
источник
git pull --force
не включаетgit fetch --tags --force
Мне показалось, что сработало следующее.
источник
git fetch --tags
. Я хотел дать альтернативный ответ. тянуть = получить + объединить. Так что выборка тоже бывает.Это просто. Сделать
источник
Я использую это с magit на kernel.org
источник