Как помечать старый коммит в Git?

Мы новичок в Git, и я хочу установить метку в начале нашего репозитория. Наша продукция код такой же, как и в начале репозитория, но мы'ве сделали совершает с тех пор. Тег в начале позволило бы нам, чтобы "туда-то" У производства в известное, стабильное состояние.

Так как добавить тег к произвольным, старше совершал?

Комментарии к вопросу (3)
Решение

Пример:

git tag -a v1.2 9fceb02 -m "Message here"

Где 9fceb02-это начало совершения ИД.

Затем вы можете нажать на тег с помощью Git толчок происхождение В1.2.

Вы можете сделать журнале Git, чтобы показать все совершают ИД's в вашей текущей веткой.

Есть также хорошая глава о тегов в книге про ГИТ.

Предупреждение: это создает теги с текущая дата (и это значение было что показать на GitHub релизы страницы, например). Если вы хотите, чтобы тег иметь дату фиксации, пожалуйста, посмотрите на один ответ.

Комментарии (6)

Только код

# Set the HEAD to the old commit that we want to tag
git checkout 9fceb02

# temporarily set the date to the date of the HEAD commit, and add the tag
GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" \
git tag -a v1.2 -m"v1.2"

# set HEAD back to whatever you want it to be
git checkout master

Детали ### Ответ по @dkinzer создает теги, дата которых является текущая дата (при запуске команды тег в Git), не дату совершения. Git в помощь метки раздел _"на Теги задним числом" и_, в котором говорится:

If вы импортировали некоторые изменения из другой VCS и хотел бы добавить теги для крупных релизов вашей работы, это полезно, чтобы иметь возможность указать дату размещения внутри тега Object; такие данные в теге объекта влияет, например, на заказ теги в gitweb будет интерфейс.

_To установить дату использоваться в будущем маркировать объекты, установить переменную окружения GIT_COMMITTER_DATE (см. ниже обсуждение возможных значений; наиболее распространенной формой является "гггг-ММ-ДД чч:мм:" с)._

пример типов:_

и GT; $ GIT_COMMITTER_DATE="от 2006-10-02 10:31" и в Git тег -С В1.0.1

Страница "Как получить тег в Git" показывает нам, что мы можем извлечь время из головы совершают через:

git show --format=%aD  | head -1
#=> Wed, 12 Feb 2014 12:36:47 -0700

Мы могли бы извлечь дату из определенного совершить через:

GIT_COMMITTER_DATE="$(git show 9fceb02 --format=%aD | head -1)" \
git tag -a v1.2 9fceb02 -m "v1.2"

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

git checkout 9fceb02 

GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" git tag -a v1.2 -m "v1.2"
Комментарии (4)

Самый простой способ сделать это

тег в Git версии v1.0.0 f4ba1fc`

с f4ba1fcначало хэш коммита, который вы хотите таг и В1.0.0 версию вы хотите поставить метку.

Комментарии (0)

Используйте команду:

git tag v1.0 ec32d32

Где v1.0-это имя тега и ec32d32 является фиксация вы хотите теге

После этого вы можете нажать на теги:

git push origin --tags

Ссылка:

В Git (система контроля версий): как я могу пометить конкретные предыдущей точки фиксации на GitHub?

Комментарии (0)

ОК, Вы можете просто сделать:

git tag -a  

Так что если вы хотите добавить тег: 1.0.2 для совершения e50f795, просто делать:

git tag -a 1.0.2 e50f795

Тоже вы добавить сообщение в конце, используя , что-то вроде этого:

git tag -a 1.0.2 e50f795 -m "my message"

В конце концов, вы должны подтолкнуть ее к "удаленным", чтобы сделать это, просто выполните:

git push origin 1.0.2 

Если у вас есть много тегов, которые вы не'т хотим, чтобы упомянуть их по одному, просто делать:

git push origin --tags

чтобы сдвинуть все теги...

Кроме того, я создал шагов на рисунке ниже, для лучшего понимания шаги:

</БР> Вы можете также ДД тег в концентратор или используя инструменты, такие как конечно, чтобы избежать предыдущие шаги, я вошел в мой оба в таком случае и делать это оттуда:

  1. Иди в свою ветку и найти совершение вы хотите, чтобы добавить тег и нажмите на нее:

  1. В совершить стр., на право, найти, где он говорит Нет теги и нажмите на значок+:

  1. В поле имя тега, добавьте ваши метки:

  1. Теперь вы видите, что тэг был успешно создан:

Комментарии (0)

Это старый вопрос, и ответы уже даны, все работает, но там's также добавлена новая опция, которая может быть и речи.

Если вы're, используя программа для управления репозиториями Git, вы можете щелкнуть правой кнопкой мыши на любой коммит и добавить тег к нему. С другой щелчок мышью, вы также можете отправить тег прямо в ветку о происхождении.

Комментарии (0)

Опираясь на ответы других, вот один-лайнер решение, которое устанавливает дату тег, когда это произошло на самом деле, использует аннотированный тег и не требует никаких ГИТ кассе:

tag="v0.1.3" commit="8f33a878" bash -c 'GIT_COMMITTER_DATE="$(git show --format=%aD $commit)" git tag -a $tag -m $tag $commit'
git push --tags origin master

где тег устанавливается нужный строковый тег, и обязательства для фиксации хэш.

Комментарии (0)

Ответ на @Phrogz-это здорово, но не'работает на Windows. Здесь's, как помечать старый фиксацией с фиксацией'с первоначальной даты при помощи PowerShell.

яз-в PowerShell ГИТ кассе 9fceb02 $env:в GIT_COMMITTER_DATE = ГИТ шоу-формат=%объявление | выбрать первые 1 тег в Git версии v1.2 ГИТ выезд мастера

Комментарии (0)