2016-06-22 2 views
2

У меня возникли проблемы с пониманием взаимодействия нескольких сред с Git, если я хочу указать разрешения для пользователей, созданных в Git.Пользовательское разрешение на уровне филиала в Git?

Например, если я использую GitLab, он может обрабатывать разрешение пользователя? Если я вношу изменения, это повлияет только на веб-интерфейс или изменит права доступа на конкретном сервере, на котором размещается Git?

Я читал, что Gitolite - это инструмент для обработки аутентификации ... Могу ли я использовать его совместно с GitLab? Я немного потерян, поэтому спасибо заранее.

+1

gitlab также поддерживает аутентификацию, так что да, gitlab обрабатывает разрешения доступа к репозиториям. – tkausl

+0

То, что вы ищете, называется _защищенные ветки_ в GitLab. – 1615903

ответ

2

Сам git (протокол, командная строка или физический репозиторий) не имеет провизий для разрешений на уровне филиала (или, действительно, какой-либо особенно интеллектуальной постоянной схемы разрешения вообще).

GitLab, Gitolite и т. Д. Добавьте еще один слой сверху, который может быть или не быть доступен, если вы делаете голые кости clone репозитория; Я не знаю, хранят ли они информацию о разрешении в реальном репозитории вообще или рядом с ним.

Если вы хотите остаться с моделью git-сервера по умолчанию (т. Е. Через ssh или локально), тогда вы сможете сгребать что-то вместе с крючками на стороне сервера.

+2

Итак, и могу ли я разместить Git на моем сервере, а затем получить GitLab или просто настроить Gitlab, и он принесет Git с ним? – taclight

+0

GitLab - это автономная программа (webserver/webservice) и не имеет ничего общего с git, за исключением того, что она использует git и позволяет git подключаться к ней. https://en.wikipedia.org/wiki/GitLab – AnoE

+1

Хорошо, скажем, я установил разрешения в GitLab, и те будут подавать заявку на Git тоже? – taclight