Git мелкий выбор нового тега

Если я клонирую репозиторий с максимальной глубиной 1 в теге, он работает и сбрасывает именно это. Если я хочу сделать выборку с глубиной 1 или без нее для нового тега, она выполняет некоторую обработку, но тег никогда не отображается в теге git. Если я поставлю опцию --tags, она загружает весь репозиторий, а не только новую информацию. Я не возражаю, чтобы репозиторий получал больше истории, я просто хочу избежать времени загрузки. Есть ли способ получить новый тег без получения всех тегов из неглубокого клонированного хранилища?

git clone --branch 1.0 --depth 1 repositoryPath
git fetch --depth 1 origin tags/1.1 # Does processing but no new tags
git fetch --tags origin tags/1.1 # Pulls down the rest of the repository and adds all tags
git fetch --depth 1 --tags origin tags/1.1 # Same as above

Теперь я заметил это в документации: "--depth... Теги для углубленных коммитов не принимаются. "

Это то, чем я сталкиваюсь? Невозможно ли это сделать, кроме загрузки всех тегов?

Ответы

Ответ 1

Вы можете использовать полный формат <refspec>:

git fetch --depth 1 origin refs/tags/1.1:refs/tags/1.1

Или, как указано в git -fetch options (под <refspec>):

tag <tag> означает то же самое, что и refs/tags/<tag>:refs/tags/<tag>; Это запрашивает выборку всего до указанного тега.

Итак, ответ на короткий вопрос на ваш вопрос будет

git fetch --depth 1 origin tag 1.1