Правильный подход к коллективному использованию git - это коммиты рядовых разработчиков в ветки типа dev-branch-* и merge избранных веток ведущими разработчиками в ветки prod-branch-v* Чтобы не путать ветки dev* и prod* - нужно заблокировать неавторизованные коммиты, например, в master-ветку на сервере. Делается это с помощью серверного хука "pre-receive": #!/bin/bash whiteList=(user1 user2 user3) usr=$USER #variants: #usr=$GITHUB_USER_LOGIN #usr=$GITHUB_USER_EMAIL if [[ " ${whiteList[*]} " =~ " $usr " ]]; then exit 0 fi while read oldrev newrev refname; do if [ "$refname" != "refs/heads/master" ]; then exit 0 fi done echo "User '$usr' is not allowed commit changes in branch" exit 1 В данном примере хук разрешает коммит в ветку "master" только пользователям из белого листа - остальные могут коммитить только в другие ветки. Много полезных примеров на эту тему можно найти здесь: https://github.com/github/platform-samples #
Git/Svn Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor