Переход к защищенным ветвям

#git #gitea

#git #gitea

Вопрос:

Я был единственным разработчиком в проекте уже несколько лет и только недавно получил второго разработчика (который еще менее опытен, чем я, в git и Gitea) в команде. Это означает, что у меня есть много исходного кода, который я очень защищаю, но мне нужно, чтобы он начал понимать все это и начал внедрять улучшения / исправления ошибок и т.д.

У нас есть соглашение о том, что он будет отходить от главной ветви и передавать свою функциональную ветвь в источник (Gitea), откуда я могу просмотреть его код и в конечном итоге объединить обратно с главной. Во время игры в Gitea я заметил, что вы можете присвоить ветке значение «защищенный», что я и сделал для главной ветви. Это здорово, поскольку означает, что он не может случайно перейти к master, но это означает, что я тоже не смогу, как только я объединю его функциональную ветвь с master локально.

Есть какие-нибудь советы о том, как это сделать? Я не хочу снимать защиту с master каждый раз, когда мне нужно объединить изменения, а затем снова защищать его.

Ответ №1:

Я никогда не использовал Gitea, но, по крайней мере, на других платформах, таких как BitBucket или GitLab, вы можете настроить репозиторий так, чтобы позволить определенным пользователям переходить к защищенным ветвям. Поиск такой опции может помочь. Такая опция вам все равно понадобится в случае конфликтов слияния… (если вы не решите их в исходной ветке)

Быстрый поиск в Интернете показывает, что такая функциональность, похоже, уже реализована. Смотрите следующий запрос на извлечение:https://github.com/go-gitea/gitea/issues/32

Комментарии:

1. Спасибо. Я тщательно изучил разделы конфигурации и не смог найти ничего похожего на авторизованных пользователей или белый список. Оказывается, у нас есть более старая версия Gitea. Я посмотрю, смогу ли я убедить системных администраторов что-нибудь с этим сделать.

Ответ №2:

Вам не придется «снимать защиту» с вашей главной ветки, когда вы захотите объединить вещи. Вам придется создать запрос на извлечение.

Создать ветку из master, объединить в нее свои изменения, а затем объединить ее обратно в master, лишь слегка нетрадиционно по сравнению с незащищенной настройкой, когда вы нажимаете непосредственно на master.

Когда кому-то из вас нужно объединить что-то в master из своей функциональной ветви, просто нажмите на пульт дистанционного управления и создайте свой запрос на извлечение оттуда.

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