Создать тег в репозитории GitHub


910

У меня есть хранилище в GitHub, и мне нужно пометить его.
Я отмечен в оболочке, но на GitHub он не отображается.

Должен ли я сделать что-нибудь еще?

Команда, которую я использовал в оболочке:

git tag 2.0

И теперь, когда я печатаю, git tagэто показывает:

2.0

Так что, похоже, теги присутствуют, верно?

Репозиторий: https://github.com/keevitaja/myseo-pyrocms .

Как сделать так, чтобы этот тег отображался на GitHub? Где мои теги?

Ответы:


1498

Вы можете создавать теги для GitHub, используя:

  • командная строка Git, или
  • Веб-интерфейс GitHub.

Создание тегов из командной строки

Чтобы создать тег в текущей ветке, запустите:

git tag <tagname>

Если вы хотите включить описание в свой тег, добавьте, -aчтобы создать аннотированный тег :

git tag <tagname> -a

Это создаст localтег с текущим состоянием ветви, в которой вы находитесь. При нажатии на ваше удаленное репо теги по умолчанию НЕ включены. Вам нужно будет явно указать, что вы хотите отправить свои теги в удаленное хранилище:

git push origin --tags

Из официальной документации Linux Kernel Git дляgit push :

--tags

Все ссылки в refs / tags добавляются в дополнение к refspecs, явно указанным в командной строке.

Или, если вы просто хотите нажать один тег:

git push origin <tag>

Читайте также мой ответ на Как вы добавляете тег в удаленный репозиторий с помощью Git? для более подробной информации об этом синтаксисе выше.

Создание тегов через веб-интерфейс GitHub

Вы можете найти инструкции GitHub для этого на их странице справки Создание релизов . Вот резюме:

  1. Нажмите на ссылку релизы на нашей странице хранилища,

    Снимок экрана 1

  2. Нажмите Создать новую версию или Создать новую версию ,

    Снимок экрана 2

  3. Заполните поля формы, затем нажмите Опубликовать релиз внизу,

    Скриншот 3 Снимок экрана 4

  4. После того, как вы создадите свой тег на GitHub, вы можете захотеть извлечь его и в свой локальный репозиторий:

    git fetch
    

Теперь в следующий раз вы можете создать еще один тег в том же выпуске с веб-сайта. Для этого выполните следующие действия:

Перейти на вкладку релиз

  1. Нажмите на кнопку редактирования для выпуска

  2. Укажите имя нового тега ABC_DEF_V_5_3_T_2 и нажмите вкладку

  3. После нажатия вкладки пользовательский интерфейс покажет это сообщение: Отлично! Этот тег будет создан из цели при публикации этого выпуска. Также пользовательский интерфейс предоставит возможность выбрать ветку / коммит

  4. Выберите ветку или коммит

  5. Установите флажок «Это предварительная версия» для тега qa и снимите его, если тег создан для тега Prod.

  6. После этого нажмите «Обновить релиз»

  7. Это создаст новый тег в существующей версии.


8
@RandomDSdevel в github, релиз - это просто тег. Вы можете создать тег из командной строки и отправить его в Github Remote. тег появится в виде релиза на веб-странице githubs.
— Юрий Григорьевич

6
@IuriG .: Да, но разве вы не можете создавать теги, которые GitHub автоматически не воспринимает как релизы? (Назад, когда я первоначально создал комментарий, на который вы ответили, и на чей ответ ваш, этот ответ является ответом, теги, по крайней мере, использовались для автоматического превращения в релизы, хотя я не знаю, так ли это до сих пор или нет & thinsp;
— следуя рабочему

Кстати, для пути к веб-интерфейсу Github я не вижу кнопку «Создать» или «Черновик» нового выпуска после нажатия ссылки на выпуски в шаге 1.
— Snowcrash

2
через интерфейс Github вы можете создавать только легковесные теги.
— Анатолий Степанюк

2
К сожалению, интерфейс github не позволяет вам пометить коммит, если он не был за последние 24 часа или за последние 10 (или около того?) Коммитов.
— Цаларот

86

Создание тегов

Git использует два основных типа тегов: легкий и аннотированный .

Аннотированные теги :

Чтобы создать аннотированный тег в Git, вы можете просто запустить следующие простые команды на своем терминале.

$ git tag -a v2.1.0 -m "xyz feature is released in this tag."
$ git tag
v1.0.0
v2.0.0
v2.1.0

-M обозначает сообщение для этого конкретного тега. Мы можем написать резюме функций, которые будут отмечать здесь.

Легкие метки :

Другой способ пометить коммит - это легкий тег. Мы можем сделать это следующим образом:

$ git tag v2.1.0
$ git tag
v1.0.0
v2.0.0
v2.1.0

Push Tag

Чтобы вставить определенный тег, вы можете использовать следующую команду:

git push origin v1.0.3

Или, если вы хотите выдвинуть все теги, используйте команду ниже:

git push --tags

Список всех тегов :

Чтобы перечислить все теги, используйте следующую команду.

git tag

Вы добавляете тег ДО или после git commit?
— garfbradaz

Я добавил тег после git commit.
— Лавакуш Курми

65

Вам просто нужно нажать на тег после запуска git tag 2.0команды.

Так что просто делай git push --tagsсейчас.


40
Я бы предпочел git push v2.0вместо этого использовать --tagsдругие теги, которые не следует нажимать.
— tschoppi

1
Это проблема, только если ваши локальные теги отличаются от ваших удаленных тегов. Их легко синхронизировать, если это когда-нибудь станет проблемой.
— kjdion84

1
@ kjdion84 Нет, это также проблема, если есть устаревшие теги: все теги всегда выбираются, и когда кто-то их использует --tags, от них трудно избавиться.
— Maaartinus

2
илиgit push origin v2.0
— праягупд

Я сделал ошибку с использованием тегов!
— User3

9

ВНИМАНИЕ: В команде в ответе Лавакуша Курми ( git tag -a v1.0) используется -aфлаг. Этот флаг говорит Git создать аннотированный флаг. Если вы не предоставите флаг ( i.e. git tag v1.0), то он создаст так называемый облегченный тег.


Рекомендуется использовать аннотированные теги, потому что они содержат много дополнительной информации, такой как:

  • человек, который сделал метку
  • дата создания тега
  • сообщение для тега

Из-за этого вы всегда должны использовать аннотированные теги.


3

Все зависит от того, какой тип тега вы хотите создать:

  • Если вы хотите создать Аннотированные метки, чтобы показать дополнительные метаданные, вы можете сделать это следующим образом: git tag -a v1.0.0.
  • С другой стороны, облегченные теги используются для «закладки» ваших фиксаций для личного пользования: git tag v1.0.0.

Есть несколько других функций тегов, таких как:

  • Список тегов git tag -l -n3. Команда выводит список всех существующих тегов с максимум 3 строками сообщения тега. По умолчанию -n показывает только первую строку.
  • Подробности тега git show <tag_identifier>. Он показывает все, что вам нужно знать о конкретном теге.
  • Сортировка тегов - git tag --sort=<type>
  • Публикация тегов git push origin v1.0. Вы можете использовать git push для тега по отдельности, или вы можете запустить git push --tags, который будет выдвигать все теги одновременно.

Не забудьте проверить статью, связанную с этим тегом, для получения более подробной информации


3

Использование Sourcetree

Вот простые шаги для создания тега GitHub , когда вы выпускаете сборку из master.

  1. Открыть вкладку source_tree

    шаг 1

  2. Щелкните правой кнопкой мыши разделы тегов из тега, которые появляются в левом разделе навигации

    шаг 2

  3. Нажмите на новый тег ()

  4. Появится диалоговое окно для добавления тега и удаления тега
  5. Нажмите на «Добавить тег», чтобы присвоить имя тегу (предпочтительная версия кода).

    шаг 3

  6. Если вы хотите выдвинуть TAG на удаленном компьютере, при создании TAG ref: шаг 5, который дает флажок push TAG to origin, отметьте его, и в удаленном хранилище появится выдвинутый тег

  7. В случае, если при создании TAG вы забыли установить флажок Push to origin , вы можете сделать это позже, щелкнув правой кнопкой мыши на созданном TAG, нажав Push to origin. введите описание изображения здесь


2
В этом ответе объясняется, как создать локальный тег с помощью Sourcetree, но вопрос заключается в том, как перенести тег в удаленный репозиторий (в данном случае GitHub). Вы говорите сделать это в шаге 6, но вы пропустили инструкции для этого.
— Рори О'Кейн

@ RoryO'Kane, пожалуйста, проверьте это сейчас. Я обновил свой ответ. Спасибо, что указали на это
— Суреш Майдараги

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.