Мы новички в git, и я хочу установить тег в начале нашего репозитория. Наш производственный код такой же, как и в начале репозитория, но с тех пор мы сделали коммиты. Тег в начале позволил бы нам «откатить» производство до известного стабильного состояния.
Итак, как добавить тег в произвольный, более старый коммит?
git
version-control
git-tag
hogsolo
источник
источник
Ответы:
Пример:
Где
9fceb02
находится начальная часть идентификатора коммита.Затем вы можете нажать тег с помощью
git push origin v1.2
.Вы можете сделать,
git log
чтобы показать все идентификаторы коммитов в вашей текущей ветке.В книге Pro Git также есть хорошая глава о тегах .
Предупреждение. При этом создаются теги с текущей датой (например, это значение будет отображаться на странице релизов GitHub). Если вы хотите, чтобы тег был датирован датой фиксации, посмотрите другой ответ .
источник
-a
и-m "Message here"
части, если вы не хотите добавлять сообщение:git tag v1.2 9fceb02
-a
и-m
. Похоже, что на странице руководства-a
подразумевается, когда-m
она используется.git push --tags origin master
подтолкнул бы все теги на локальном филиале к удаленному. Предпочитаюgit push origin <tag_name>
просто нажать созданный тег. См: stackoverflow.com/a/5195913/452708 , git-scm.com/book/en/v2/Git-Basics-TaggingПросто код
подробности
Ответ @dkinzer создает теги, дата которых является текущей датой (когда вы выполнили
git tag
команду), а не датой фиксации. В справке Gittag
есть раздел «О тегах задним числом», который гласит:Страница «Как пометить в Git» показывает нам, что мы можем извлечь время фиксации HEAD через:
Мы могли бы извлечь дату конкретного коммита через:
Однако вместо того, чтобы повторять коммит дважды, кажется, проще просто изменить HEAD на этот коммит и неявно использовать его в обеих командах:
источник
Самый простой способ сделать это:
с
f4ba1fc
началом хэша коммита, который вы хотите пометить, иv1.0.0
версией, которую вы хотите пометить.источник
Используйте команду:
Где v1.0 - это имя тега, а ec32d32 - коммит, который вы хотите пометить.
После этого вы можете нажать на теги:
Ссылка:
Git (контроль версий): Как мне пометить конкретную предыдущую точку фиксации в GitHub?
источник
ОК , вы можете просто сделать:
Поэтому, если вы хотите добавить тег: 1.0.2 для фиксации
e50f795
, просто выполните:Также вы добавляете сообщение в конце, используя
-m
что-то вроде этого:В конце концов, вам нужно подтолкнуть его к тому
remote
, чтобы сделать это, просто сделайте:Если у вас есть много тегов, которые вы не хотите упоминать по одному, просто сделайте:
собрать все теги вместе ...
Кроме того, я создал шаги на изображении ниже, для более ясного объяснения шагов:
Вы также можете добавить тег в Hub или использовать такие инструменты, как SourceTree , чтобы избежать предыдущих шагов, я вошел в свой Bitbucket в этом случае и сделал это оттуда:
No tags
и щелкните+
значок:источник
Это старый вопрос, и ответы уже даны для всей работы, но есть и новый вариант, который можно рассмотреть.
Если вы используете SourceTree для управления своими git-репозиториями, вы можете щелкнуть правой кнопкой мыши на любом коммите и добавить к нему тег. Еще одним щелчком мыши вы также можете отправить метку прямо в ветку в начале координат.
источник
Основываясь на ответах других, вот решение с одной строкой, которое устанавливает дату тега, когда оно действительно произошло, использует аннотированный тег и не требует
git checkout
:где
tag
задается желаемая строка тега иcommit
хеш коммита.источник
Ответ на @Phrogz велик, но не работает на Windows. Вот как можно пометить старый коммит исходной датой коммита с помощью Powershell:
источник