Теперь можно ограничить доступ для чтения к ветвям гитолита с последней версией gitolite v3.x, используя функцию частичного копирования гитолита
- Обязательно используйтепоследняя версия gitolite
- раскомментирует строку
partial-copy
в разделе ENABLE
файла ~ / .gitolite.rc - set
$GIT_CONFIG_KEYS = '.*'
в файле ~ / .gitolite.rc - Используйте параметр частичного копирования, чтобы иметь другой репозиторий, который является копией вашего исходного репозитория, но без каких-либо ветвей.
Пример: если вы хотите, чтобы клиент имел доступ только кdeploy
branch
repo my-repo
RW+ = @coworkers
repo my-repo-deploy
RW deploy = @clients
- = @clients
- VREF/partial-copy = @all
config gitolite.partialCopyOf = my-repo
если git жалуется, что не может удалить главную ветвь, вы можете использовать эту команду на сервере:
sudo git config --system receive.denyDeleteCurrent warn
sudo git config --global receive.denyDeleteCurrent warn
Теперь клиенты могут клонировать ветвь развертывания.репозитория my-repo-deploy с помощью такой команды:
git clone -b deploy git@your-server:my-repo-deploy