Невозможно Pu sh git метки с пульта? - PullRequest
1 голос
/ 06 февраля 2020

Я пытаюсь создать некоторые теги на локальном клоне и pu sh, чтобы он освоил, и удалить тег с удаленного компьютера, и pu sh - на мой локальный клон. но говорили о тегах, а не о релизах.

Я создаю тег тега v0.1-beta на пульте. Я создаю тег v1.0-full-release на локальном.

Я замечаю, что даже после git выборки, git тяги и git pu sh на моем локальном конце эта нижняя сторона видит теги друг друга.

Я посмотрел его и обнаружил, что вы можете использовать git fetch --tags для получения тегов с удаленного компьютера, так что теперь мой локальный клиент обновлен. Но я не могу найти способ сделать мой локальный тег v1.0-full-release удаленным. Git push этого не делает, и я ничего не могу найти в документации.

SideNote: я провел большую часть своего тестирования в терминале, но я также замечаю в обоих Github для настольных компьютеров, Киткракен и Gmaster утверждают, что когда я создавал тег локально, а другой на удаленном компьютере, выбирая или отправляя их с этих клиентов, не синхронизировал c эфир тегов.

Если бы кто-то мог также объяснить, почему было решено, что стандартные git fetch, git pull и git push не должны включать теги по умолчанию, это также было бы здорово.

1 Ответ

1 голос
/ 06 февраля 2020

Хотя git fetch включает по умолчанию --tags, по умолчанию оно не включает --tags.

(вставьте сюда звуковой эффект записи) Подождите, что?

Хорошо, уловка в том, что git fetch перенесет теги , когда он перенесет коммит, к которому прикреплен тег. Есть несколько вариантов на общую тему (или, по крайней мере, на ошибки в указанных c угловых случаях) в разных версиях Git, но в целом, если у вас еще нет отмеченного коммита, и вы запускаете git fetch без --tags или --no-tags, вы получите оба коммит и тег. Но если у вас уже есть коммит, и вы запускаете git fetch без --tags, вы не получаете тег.

В отличие от git push без --tags никогда выдвигает теги, по крайней мере, если вы не настраиваете различные параметры. Часто имеет смысл просто запустить:

git push origin <em>tag-name</em>

, чтобы явно указать * 1 040 * один конкретный тег в любом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...