Ограничить определенных пользователей GitHub объединять ветви - PullRequest
11 голосов
/ 03 марта 2012

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

Ответы [ 5 ]

6 голосов
/ 26 марта 2015

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

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

6 голосов
/ 03 марта 2012

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

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

3 голосов
/ 06 января 2015

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

0 голосов
/ 28 января 2013

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

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

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

0 голосов
/ 03 марта 2012

NO

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

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

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

...