Звучит так, как будто вы говорите, что когда вы делаете этот толчок, вы думаете, что он собирается создать новый удаленный тег на master
с именем, отличным от вашего локального тега.Это не правильно.
Если существует ссылка с именем v0x.0.3
, она будет выдвинута как есть ( не обязательно указывает на master
).Если это не так - что, скорее всего, в случае случайной аппликатуры, как предложено в приведенных вами примерах команд, - это приведет к ошибке команды push
с сообщением о том, что она не знает, что v0x.0.3
is.
Теперь верно, что вы можете создать локальный тег для коммита, независимый от любых тегов, на которые удаленный оператор указал этот коммит.В этом отношении у вас может быть любое количество локальных тегов, указывающих на один и тот же коммит, любое количество которых может или не может быть передано удаленному.
Если вы на самом деле хотели создать тег другого имени на пульте, вы могли бы;но я не верю ни на секунду, что вы сделали бы это случайно.
git push origin local_tag_name:remote_tag_name
(потому что local_tag_name - это тег, поэтому git сделает вывод, что вы хотите, чтобы remote_tag_name также был тегом, но у вас естьстараться изо всех сил изменить имя);или
git push origin master:refs/tags/remote_tag_name
(где вы явно говорите, что хотите создать новый тег на пульте).
И - это случаев использования, когда вы можете захотетьсделай это.Практически во всех ситуациях git предоставляет гибкость, позволяющую делать все, что вы хотите, а затем предоставляет команды eas (ier) для использования, чтобы делать то, что большинство людей хочет большую часть времени.Таким образом, ваше наблюдение, что вы можете создавать различные имена тегов на пульте, является правильным;но это не означает, что вы должны, или должны, или будете случайно обмануты.
Чтобы согласовать это с концепциями git: Хотя вы, похоже, думаете о теге как о атрибутекоммит, это не так.Это его собственная вещь (что относится к коммиту [1]);и эта вещь может или не может существовать в любом данном репо.Если он существует локально, вы можете (но не обязаны) передать его на пульт;и если он существует на удаленном компьютере, вы можете (но не обязаны) извлекать его на локальный компьютер.
[1] На самом деле тег ссылается на некоторый объект , который обычно является коммитом, но может быть чем-то другим, например, конкретным файлом