Как разрешить только определенному c пользователю pu sh фиксировать в главную ветку - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь настроить сервер git и хочу разрешить только c пользователю, чтобы pu sh зафиксировал переход в главную ветвь.

Я пытался использовать Linux настройка разрешения группы для удовлетворения вышеуказанного требования, но, похоже, это неверный путь.

И я даже не знаю, каковы ключевые слова для поиска ответа на этот вопрос.

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 18 февраля 2020

У вас есть два варианта:

На сегодняшний день самым простым решением является использование программного обеспечения для хостинга, которое уже предоставляет эту функцию. Возможно, вы захотите взглянуть на GitLab, в котором есть бесплатные опции как для SaaS (размещенного на gitlab.com), так и для самоуправляемых экземпляров (с вашим собственным экземпляром gitlab). Или GitHub. Или битбакет. Или я уверен, что есть другие, о которых я не думаю.

Если вы действительно не хотите использовать ни один из них, вы можете реализовать управление доступом на простом git сервер, но это не так просто. Короткий (или, скорее, glib) ответ - «ловушки», но ловушка - это просто скрипт, который запускается, когда что-то происходит, - как в этом случае вы использовали бы ловушку предварительного получения, которая запускается, когда кто-то пытается сделать sh и решает, принимать ли пу sh. Теперь, как ваш хук узнает, кто толкает? (Метаданные фиксации не указывают, кто подталкивает. Что вам нужно, так это аутентификация вокруг фактического соединения и видимость аутентификации в вашем скрипте, чтобы скрипт мог реализовать ваши правила авторизации. Это очень быстро разбивается на «это зависит от вашей среды» ".)

Поскольку на самом деле невозможно полностью охватить каждый сценарий для выполнения этого вручную, мы надеемся, что либо вы найдете готовое решение, которое вам понравится, либо вам будет достаточно перечисленного выше, чтобы получить Вы указали в правильном направлении, чтобы сделать это вручную.

0 голосов
/ 18 февраля 2020

Git не позволяет вам иметь частные филиалы, но вы можете реализовать эту функцию, внедрив собственную серверную ловушку предварительного получения . Github enterprise специфицируется c пример перехвата предварительного получения здесь , в качестве ссылки.

Однако, если вы используете хостинг Git (например, Github), у них может быть опция за это. Github, в частности, имеет опцию под названием ограничения ветки , но она требует от вас платной подписки, если ваш проект не опубликован c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...