git fetch <gitserver> <remotetag>:<localtag>
=====================================
Я щойно це зробив. Спочатку я переконався, що знаю правопис назви тегів.
git ls-remote --tags gitserver; : or origin, whatever your remote is called
Це дало мені список тегів на моєму сервісі git на вибір. Оригінальний плакат уже знав назву його тегу, тому цей крок потрібен не всім. Вихід виглядав так, хоча реальний список був довшим.
8acb6864d10caa9baf25cc1e4857371efb01f7cd refs/tags/v5.2.2.2
f4ba9d79e3d760f1990c2117187b5010e92e1ea2 refs/tags/v5.2.3.1
8dd05466201b51fcaf4ca85897347d82fcb29518 refs/tags/Fix_109
9b5087090d9077c10ba22d99d5ce90d8a45c50a3 refs/tags/Fix_110
Я вибрав тег, який я хотів, і здобув це, і нічого більше, як слід.
git fetch gitserver Fix_110
Потім я позначив це на своїй локальній машині, давши моє тегу те саме ім'я.
git tag Fix_110 FETCH_HEAD
Я не хотів клонувати віддалене сховище, як пропонували інші люди, оскільки проект, над яким я працюю, великий, і я хочу розвиватися в хорошому чистому середовищі. Я вважаю, що це ближче до оригінальних запитань "Я намагаюся розібратися, як завантажувати ОСОБЛИВНУ ТАК", ніж рішення, яке передбачає клонування всього сховища. Я не бачу, чому хтось повинен мати копію вихідного коду Windows NT та Windows 8.1, якщо вони хочуть переглянути вихідний код DOS 0.1 (наприклад).
Я також не хотів використовувати CHECKOUT так, як пропонують інші. У мене була перевірена філія, і я не хотіла на це впливати. Мій намір був отримати програмне забезпечення, яке я хотів, щоб я міг щось вибрати і додати це до своєї розробки.
Можливо, існує спосіб отримати тег сам, а не просто копія комітету, який позначений тегом. Мені довелося мітити те, що я отримав. РЕДАКТ: Ага так, я знайшов це зараз.
git fetch gitserver Fix_110:Fix_110
Там, де ви бачите двокрапку, це віддалене ім’я: local-name і ось вони - імена тегів. Це запускається, не засмучуючи робоче дерево тощо. Це, здається, копіює речі з віддаленого пристрою на локальну машину, щоб у вас була своя копія.
git fetch gitserver --dry-run Fix_110:Fix_110
додана опція --dry-run дозволить вам ознайомитись з тим, що зробила б команда, якщо ви хочете перевірити її те, що ви хочете. Тож я здогадуюсь простого
git fetch gitserver remotetag:localtag
справжня відповідь.
=
Окреме зауваження про теги ... Коли я запускаю щось нове, я зазвичай тегую порожнє сховище після git init, оскільки
git rebase -i XXXXX
вимагає виконання зобов’язань, і виникає питання "як ви відновите зміни, які включають ваші перші зміни програмного забезпечення?" Тож коли я починаю працювати, я роблю
git init
touch .gitignore
[then add it and commit it, and finally]
git tag EMPTY
тобто створити комісію перед моєю першою реальною зміною, а потім пізніше використовувати
git rebase -i EMPTY
якщо я хочу відновити всю свою роботу, включаючи першу зміну .