#git #git_commit #git_push #git_branch
Как поставить себя админом ветки в гит?
У нас есть человек который занимается мерджами и пушами в основную ветку и хочется
сделать так, чтоб только у него была возможность делать пуш в основную ветку, а все
остальные могли только сделать пулл с нее.
Как это реализовать в гит?
ВАЖНО
У нас своя серверная часть, мы не используем gitlab, github и т.д.
Я так понял, что можно это как то сделать с помощью хуков...
Есть пример? Туториал
Ответы
Ответ 1
Примерно такой скриптик кинуть в .git/hooks/update сервера и дать ему права на выполнение. #!/bin/sh if [ "$USER" != "git-repo-admin" ] && [ "$1" == refs/heads/master ];then echo "Manual pushing to this repo is restricted" exit 1 fiОтвет 2
Никак. В ванильном git нет таких механизмов и можно только использовать организационные методы (приказом по организации запретить всем, кроме) - сами понимаете, так себе эффективность. Если очень хочется -- посмотрите в сторону gitlab, он умеет подобные вещи. В gitlab можно создавать защищённые ветки (protected branches), обычно это какие-то релизные ветки. Посмотреть можно на странице Repository - Branches: Расставить права можно перейдя по ссылке в настройки проекта: Можно указать кто имеет право на merge данной ветки (это и право сразу пушить в неё без оформления пулл-реквеста) - см. столбец Allowed to merge.
Комментариев нет:
Отправить комментарий