В настоящее время я работаю с хранилищем, которое имеет несколько веток.
Когда я создаю тег, относится ли этот тег к текущей ветви?
Другими словами: всякий раз, когда я создаю тег, нужно ли переключаться на нужную ветку и тег внутри этой ветви, чтобы тег ссылался на эту ветку в данный момент времени?
Теги и ветвь совершенно не связаны, поскольку теги ссылаются на конкретный коммит, а ветвь является движущейся ссылкой на последний коммит истории. Ветви идут, метки остаются.
Поэтому, когда вы помечаете коммит, git не заботится о том, какой коммит или ветвь извлечены, если вы предоставите ему SHA1 того, что вы хотите пометить.
Я даже могу пометить ссылку на ветку (она будет помечать верхушку ветки), а потом сказать, что подсказка ветки есть в другом месте (
git reset --hard
например,) или удалить ветку. Однако созданный мной тег не будет перемещаться.источник
При вызове
git tag <TAGNAME>
без каких-либо дополнительных параметров Git создаст новый тег из вашей текущей HEAD (то есть HEAD вашей текущей ветки). При добавлении дополнительных коммитов в эту ветку ветка HEAD будет следить за этими новыми коммитами, а тег всегда ссылается на один и тот же коммит.При вызове
git tag <TAGNAME> <COMMIT>
вы даже можете указать, какой коммит использовать для создания тега.В любом случае, тег все еще является просто «указателем» на определенный коммит (не ветвь).
источник
Мы можем создать тег для некоторого прошлого коммита:
например:
источник
Если вы хотите пометить ветку, в которой находитесь, введите:
и нажмите на ветку с помощью:
источник
Если вы хотите создать тег из ветви, которая будет выглядеть примерно так, то
release/yourbranch
вам нужно использовать что-то вродеПосле создания правильного тега, если вы хотите перенести его на удаленный пункт, используйте команду
источник