Я abit запутался в правах на гитолит.Gitolite разрешений только для одной ветви
Каков наилучший способ разрешить только одну ветвь и запретить все другие ветви конкретному пользователю или группе?
Я abit запутался в правах на гитолит.Gitolite разрешений только для одной ветви
Каков наилучший способ разрешить только одну ветвь и запретить все другие ветви конкретному пользователю или группе?
См "partial-copy: selective read control for branches"
Главное,:
Git (и, следовательно, gitolite) не может делать выборочный контроль чтения - позволяя кому-то читать ветку
A
, но не разветвляютсяB
.
Это все репо или ничего.Gerrit Code Review может это сделать, но это потому, что у них есть свой собственный git (а также их собственный sshd и т. Д.). Если проверка кода является частью вашего решения о контроле доступа, вам действительно стоит подумать о Gerrit.
Стандартный ответ вы получаете, когда вы спрашиваете как «использовать отдельные операции РЕПО» (где одна содержит все ветви, и один содержит подмножество ветвей).
Это хорошо в теории, но на практике, когда люди потенциально подталкивают оба РЕПО, вам нужно выяснить, как их синхронизировать.Gitolite теперь может помочь вам в этом. Обратите внимание, что это только для ветвей; вы не можете сделать это для файлов и каталогов.
Вот как:
- включить '
partial-copy
' вENABLE
списке в файле гс.- для каждого репо «
foo
», которая имеет секретные ветви, определенный набор разработчиков (мы будем использовать группу под названием@temp-emp
в качестве примера) не должны видеть, сделать это:
repo foo
# rules should allow @temp-emp NO ACCESS
repo foo-partialcopy-1
- secret-branch = @temp-emp
# other rules; see notes below
- VREF/partial-copy = @all
config gitolite.partialCopyOf = foo
ВАЖНЫЕ ПРИМЕЧАНИЯ:
- , если вы используете другие VREFs, убедитесь, что это один помещается в конце, после того, как все остальные.
- помните, что любые изменения, которые могут быть внесены в репозиторий частичной копии, будут распространяться на основное репо, поэтому убедитесь, что вы используете другие правила, чтобы ограничить нажатие на другие ветви и теги по мере необходимости.