Создать представление Git, как в SQL
Можно ли создать представление Git-репозитория, как в SQL? Я хотел бы дать кому-то доступ к репо, но только для определенных типов файлов, таких как CSS; однако я хочу запретить доступ к файлам PHP и JavaScript.
1 ответ
Это (частично) ответ на этот вопрос: Git: Access Control? Как это сделать на практике:
Вы не можете управлять ветвями или чем-то еще. Git загружает весь репо. Период.
Это (всегда загрузка всего репо) является фундаментальным дизайнерским решением в git, никак не обойтись.
Если вы просто хотите предоставить доступ для чтения, вы можете использовать другую систему, например, иметь обычное задание, которое зеркально отображает файл, например, веб-сервер, где их можно просматривать и загружать.
Если вы хотите предоставить доступ на запись, но по-прежнему ограничивает доступ на чтение для других частей, вероятно, нет никакого способа разделить репо (или реализовать какую-то сложную схему синхронизации, включающую несколько репо и выталкивание-извлечение).
Если вы хотите ограничить доступ для записи, но не против предоставления доступа для чтения ко всему, вы можете использовать git hooks. Вы могли бы также хотеть рассмотреть gitolite:
Gitolite - это слой контроля доступа поверх git. Вот "исполнительное резюме":
[...]
контролировать доступ ко многим git-репозиториям
доступ на чтение контролируется на уровне репо
доступ на запись контролируется на уровне ветки / тега / файла / каталога