Разрешение ветки конф с гитолитом
Я настраиваю Git Repos для своей фирмы, но я хотел бы дать доступ к лидерам релизов и разработчикам, чтобы разобраться во всем... Я начинаю использовать GitoLite, но не знаю, можно ли это сделать, если у кого-то есть что-то лучше.
Вот вопросы:
пользователи, которые находятся в @releases: могут создавать ветви, обновлять master, sql и создавать теги.
пользователи, которые находятся в @developers: могут создавать ветки в fix/issueXXXX, выдвигать и извлекать их, но не могут обновлять master или sqa... могут извлекать из них информацию, но никогда не обновляют их
Вот мой gitolite.conf
@releasers = xsmith xrice
@developers = dev1 dev2 dev3
repo project
RW+ = xsmith
RW+ master = @releasers # allow @releasers access to release branch
- master = @developers # deny @developers access to release branch
RW+ develop = @developers # allow @developers access to development branch
RW+ develop = @releasers # allow @developers access to development branch
RW refs/tags = @releasers
RW refs/heads = @releasers
но с помощью приведенного выше файла разработчики не могут создавать новые ветви и т.д.... может кто-нибудь, пожалуйста, помогите мне с этим.. также я хочу, чтобы разработчики могли извлекать из master, sqa и развиваться, но не могут обновлять их и не могут создавать новые ветви под исправить /
1 ответ
Я оказался в похожей ситуации несколько лет назад.
Если вы хотите, чтобы кто-то имел доступ только для чтения в ветке, измените файл, предоставив права доступа "R" (из чтения), целые из "-".
Для вашего случая я рекомендую вам использовать вилки, мне было легче администрировать группу разработчиков среднего размера с высокой ротацией. Форкс позволит вам реализовать то, что вам нужно. Дать вам на ходу некоторые преимущества.
В разветвленном хранилище @developers имеют право на запись и могут вносить изменения. Они могут внести свой вклад в исходный репозиторий, используя запросы извлечения (которые принимаются @releasers).
Вот некоторые преимущества:
1) Вы больше не привязаны к конкретным именам веток, таким как master или development, что дает вам больше гибкости.
2) Для реализации разных ролей вам просто нужно дать привилегии RW каждому форку / пользователю
3) На месте легко увидеть, какой код проходит через форк и главный репозиторий, и есть ответ на каждый принятый пул-запрос, что может оказаться полезным.
Вот документация по github: https://help.github.com/articles/fork-a-repo. Вот вопрос, который может привести к интересным: https://softwareengineering.stackexchange.com/questions/200663/why-do-people-fork-repositories-on-github
Я надеюсь, что это помогает.