Ограничьте пользователей GitHub для объединения ветвей

Можно ли ограничить некоторых пользователей git объединить ветки git на GitHub? Я хочу, чтобы пользователи фиксировали, тянули и толкали изменения в ветке current, переключались на другую существующую ветвь, но не допускали объединения ветвей. Возможно ли это на GitHub.com или автономном репозитории git?

Ответ 1

Нет. Единственный способ предотвратить такие вещи: git внутренние блокировки предварительной фиксации или обновления. Эти крючки вызываются до того, как нажать.

GitHub сам не поддерживает перехватывание или обновление. Поддерживаются только веб-крючки. Но они называются после толчка. Так слишком поздно, чтобы предотвратить определенные типы.

Ответ 2

Если ваш репозиторий находится в организации в Github, вы можете добавить разработчиков в команду чтения. Таким образом, они могут видеть и проверять репозиторий, но не могут совершать его. Они также могут разветвлять репозиторий, что позволяет им выполнять свою работу в своей вилке, а затем отправлять запросы на тягу, чтобы заставить их работать в основном репозитории.

Затем вы можете предоставить доступ к записи только определенным разработчикам, которые будут отвечать за просмотр и слияние запросов на тягу.

Ответ 3

bitbucket поддерживает разрешения для каждой ветки, что поможет вам предотвратить слияние с вашими веткими. Я пропустил эту функцию на github

Ответ 4

НЕТ

Возможно, вы думаете об этом из-за кнопки "Сменить изменения" Github по запросу Pull. Но это просто удобная вещь. Например, если есть конфликты, эта кнопка отключена, и вам придется вручную объединить изменения на вашем компьютере и нажать их в Github.

Итак, если пользователь может нажимать изменения на ветку, как бы вы остановили его, чтобы объединить другую ветку на своей машине и нажать? Поскольку такого рода ограничений нет в Github afaik, вы не сможете этого сделать.

О, но вы всегда можете попросить своих пользователей вежливо не объединять ветки;).

Ответ 5

Я не уверен, что означает "автономный git репозиторий", но гитолит может дать вам то, что вы хотите:

"Пример 2, один репо, но разные уровни доступа к различным ветвям и тегам для разных разработчиков" - http://sitaramc.github.com/gitolite/why.html

См. также Git: совместная работа по веткам без разрешения на клик