Страницы

Поиск по вопросам

воскресенье, 1 декабря 2019 г.

Как поставить ограничение на пуш в ветку гит?

#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.

Комментариев нет:

Отправить комментарий