Подтвердить что ты не робот

Получение всех тэгов с пульта с помощью git pull

В настоящее время у меня есть удаленная настройка git, как показано ниже:

[remote "upstream"]
    url = <redacted>
    fetch = +refs/heads/*:refs/remotes/upstream/*

Когда я выдаю git pull в главном ветки, все удаленные головки извлекаются в пульты/вверх по течению, затем пульт дистанционного управления/восходящий/ведущий объединяется в master. Любые теги, которые могут быть достигнуты, также извлекаются одновременно, что очень удобно.

Я бы хотел, чтобы git pull дополнительно извлекал все теги из удаленного, а не только те, которые непосредственно доступны из головок. Я изначально попытался установить tagopt == --tags, но обнаружил, что это вызвало только теги, которые были извлечены, и таким образом сломал все. (Юнион даже говорит, что ужасающая неправильная дискуссия).

Есть ли способ сделать git pull выборки всех удаленных тегов по умолчанию в дополнение к удаленным головам?

4b9b3361

Ответ 1

Вы должны сделать это, добавив refspec для тегов в свою локальную конфигурацию. В частности:

[remote "upstream"]
    url = <redacted>
    fetch = +refs/heads/*:refs/remotes/upstream/*
    fetch = +refs/tags/*:refs/tags/*

Ответ 2

Простой git fetch --tags работал у меня.

Ответ 3

Опция --force полезна для обновления локальных тегов. В основном, если у вас есть плавающие теги:

git fetch --tags --force

У опции git pull также есть опции --force, и описание такое же:

Когда git fetch используется с & lt; rbranch & gt;: & lt; lbranch & gt; refspec, он отказывается обновить локальный филиал & lt; lbranch & gt; если только удаленная ветка & lt; rbranch & gt; он выбирает потомок & lt; lbranch & gt;. Эта опция отменяет проверить.

но, согласно документу --no-tags:

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

Если этот оператор по умолчанию не является ограничением, вы также можете попробовать

git pull --force

Ответ 4

Мне показалось, что сработало следующее.

git pull --tags

Ответ 5

Это просто. Сделайте

git fetch --all

Ответ 6

Я использую это с magit на kernel.org

[remote "upstream"]
    url = <redacted>
    fetch = +refs/heads/*:refs/remotes/upstream/*
    tagOpt = --tags