Создать представление Git, как в SQL

Можно ли создать представление Git-репозитория, как в SQL? Я хотел бы дать кому-то доступ к репо, но только для определенных типов файлов, таких как CSS; однако я хочу запретить доступ к файлам PHP и JavaScript.

1 ответ

Решение

Это (частично) ответ на этот вопрос: Git: Access Control? Как это сделать на практике:

Вы не можете управлять ветвями или чем-то еще. Git загружает весь репо. Период.

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

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

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

Если вы хотите ограничить доступ для записи, но не против предоставления доступа для чтения ко всему, вы можете использовать git hooks. Вы могли бы также хотеть рассмотреть gitolite:

Gitolite - это слой контроля доступа поверх git. Вот "исполнительное резюме":

[...]

контролировать доступ ко многим git-репозиториям

доступ на чтение контролируется на уровне репо

доступ на запись контролируется на уровне ветки / тега / файла / каталога

Другие вопросы по тегам