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