Могу ли я указать конкретную ветку в GitHub только для чтения (только для чтения)? - PullRequest
10 голосов
/ 23 сентября 2011

Есть ли способ установить конкретную ветку на GitHub только для извлечения (только для чтения) или я могу установить это только для всего хранилища?

Ответы [ 3 ]

14 голосов
/ 03 сентября 2015

Вы можете (вроде) с сентября 2015 года.

Это потому, что теперь у вас есть " Защищенные ветви и необходимые проверки статуса " (3 сентября 2015), что позволяетВы защищаете ветку:

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

Asупомянул в обсуждении в твиттере :

@ github nice, а как насчет защиты от просто push и разрешения работать только через запросы pull?

Adam Roben @aroben @ lowl4tency Вы можете сделать это через Status API:
создать статус "success" только для коммитов в PR, затем пометить этот статус как необходимый
.

https://cloud.githubusercontent.com/assets/25792/9596474/27db3ce6-502a-11e5-9b19-5b47a8addc65.png


С ноября 2015 г. вы можете защитить ветку с помощью API:

curl "https://api.github.com/repos/github/hubot/branches/master" \
  -XPATCH \
  -H 'Authorization: token TOKEN'
  -H "Accept: application/vnd.github.loki-preview" \
  -d '{
    "protection": {
      "enabled": true,
      "required_status_checks": {
        "enforcement_level": "everyone",
        "contexts": [
          "required-status"
        ]
      }
    }
  }'

Как это можно попробовать?

Чтобы получить доступ к этой функции в течение периода предварительного просмотра, вам необходимо предоставитьВ заголовке «Принять» используется следующий тип носителя:

application/vnd.github.loki-preview+json

С марта 2016 г. , Организации теперь могут указывать, какие члены и группы могут выдвигатьв защищенную ветку .

https://cloud.githubusercontent.com/assets/4719/14140705/ed98abac-f67a-11e5-951e-b48c842fb77f.png

6 голосов
/ 23 сентября 2011

Нет способа сделать разрешения на уровне ветки в Github, но проект gitolite поддерживает то, что вы ищете.

1 голос
/ 19 апреля 2016

Начиная с 30 марта 2016 года, GitHub поддерживает разрешения филиалов без каких-либо дополнительных уловок, таких как проверка статуса: https://github.com/blog/2137-protected-branches-improvements

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...