Я ищу лучший и безопасный способ конвертировать ветку 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 (что никто не должен делать), и он извлекает изменения, которые удаляют этоветвь, смогут ли они объединить эти изменения в другую ветвь (скажем, master) или же сломать созданную ими ветку?Это случай, который не должен происходить, так как никто не должен создавать ветки вне какой-либо версии ветки, кроме последней версии, в данном случае 1.8, но люди не всегда следуют процедуре должным образом, поэтому я хочу убедиться, что есть способчтобы исправить это, если это произойдет.