К сожалению, вы не можете помешать людям создавать филиалы там, где они хотят, тем более что Git - это децентрализованная VCS. Однако вы можете решить, можно ли отправить коммит в центральный репозиторий. Таким образом, вы могли бы написать хуки, которые запрещали бы коммиты, которые имеют определенные коммиты у своих предков.

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

Ответы на вопрос(2)

Ваш ответ на вопрос