преобразование ветки git в тег git

Я ищу лучший и самый безопасный способ преобразовать ветку git в тег git. При переносе репозитория svn вручную я в основном копировал все наши ветки, и у нас была ветка для каждого второстепенного выпуска (1.1, 1.2, 1.3), что, честно говоря, вероятно, было не лучшим способом сделать это, но ради скорость, в то время мне было удобнее использовать ветки, чем теги. Теперь у меня есть ветки 1.5, 1.6, 1.7, 1.8, однако, поскольку у нас когда-либо была развернута только 1 версия кода, мне, вероятно, нужна только последняя версия, чтобы быть веткой, на случай, если какие-либо исправления должны войти в эту версию, которая развернут. Итак, я ищу лучший способ преобразовать ветку git в тег git. Я думаю, что у меня есть способ, но я убедился, насколько он хорош.

Что я сделал до сих пор, так это то, что для каждой ветки, которую я хочу преобразовать в тег, я проверил, нет ли коммитов в тех ветках, которые не в основной ветке, поэтому я сделал:

git log 1.5 ^master
git log 1.6 ^master
git log 1.7 ^master

Все они не возвращают мне ничего, что, как я считаю, означает, что все коммиты в этих ветках существуют в мастере. Я сделал это, потому что предполагал, что если бы в ветвях, которых не было в master, были коммиты, я потеряю их при преобразовании ветки в тег, поскольку тег - это просто «указатель» на один коммит, а не строку разработки. Учитывая это, казалось бы, хорошее, я предполагаю, что мне просто нужно будет сделать:

git tag 1.5v 1.5
git tag 1.6v 1.6
git tag 1.7v 1.7

Тогда мне просто нужно было бы удалить ветки локально и отправить эти изменения в удаленный репозиторий. Является ли это лучшим способом преобразования ветки git в тег git?

Также меня беспокоит то, что если кто-то создал ветку, скажем, из версии 1.7 (что никому не следует делать), и они извлекут изменения, удаляющие эту ветку, будут они смогут объединить эти изменения в другую ветку (скажем, в главную), или это сломает ветку, которую они создали? Это случай, которого не должно происходить, поскольку никто не должен создавать ветки из любой версии ветки, кроме последней версии, в данном случае 1.8, но люди не всегда правильно следуют процедуре, поэтому я хочу убедиться, что есть способ чтобы исправить это, если это произойдет.

7
задан Stevoisiak supports Monica 20 April 2017 в 02:54
поделиться