#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.
Комментариев нет:
Отправить комментарий