Я использую gitolite для git-репозитория, ограничивающего доступ.
Кто-нибудь может сказать, как настроить ограничение веток и как ограничить разрешение на чтение для определенного Dir / файла?
Я использую gitolite для git-репозитория, ограничивающего доступ.
Кто-нибудь может сказать, как настроить ограничение веток и как ограничить разрешение на чтение для определенного Dir / файла?
Как упоминалось в обзоре Gitolite
доступ для чтения контролируется на уровне репо,
Вы либо получаете доступ (клонируете) полное репо, либо не получаете его вообще.
Конфиденциальный файл обычно не должен находиться в репо (или быть в частном репо), а сгенерирован через smudge
драйвер содержимого фильтра. Этот сценарий 'smudge
' может (на git checkout
) проверять, являетесь ли вы авторизованным пользователем, и, если да, извлекать файл (из надежного частного источника, а не из репозитория git) и генерировать при проверке ваш ограниченный файл.
С другой стороны, ограничение доступа на запись было возможно всегда, как я упоминал 6 лет назад.
С помощью VREFS вы можете применять все виды политик (например, сообщения о фиксации git или на основе ролей.
И да, вы можете ограничить push-уведомления на основе файла / DIR.
Вы даже можете использовать группы LDAP для ограничения доступа к gitolite
Для ограничения доступа на чтение на основе каталога / файла или веток / тегов, кроме gitolite ...
git fetch
) запрашивает пакеты: он вызывается ssh или https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols#The-Smart-Protocol. git verify-pack
), что значительно замедлило бы операцию клонирования / выборки и не было сделано насколько мне известно.Следовательно, мое первоначальное предложение не помещать какие-либо ограниченные / конфиденциальные файлы в репозиторий git.