Назад | Перейти на главную страницу

git Разрешение?

Я хотел бы предоставить дизайнеру доступ к файлам html / css / images и т. Д. Для проекта, над которым я работаю. Проблема в том, что репозиторий git, в котором хранится эта информация, также используется совместно с общей базой кода, к которой я бы предпочел, чтобы разработчик не имел доступа, поскольку она им не нужна.

В SVN я бы решил это, просто разрешив каталогам в репозитории быть доступными только определенным людям. Насколько мне известно, в git это невозможно из-за другой структуры, у вас либо есть весь репо, либо нет.

Какой рекомендуемый способ выполнить это? Как другие решают эту проблему?

Спасибо

Либо научитесь жить с дизайнером, имеющим доступ к коду (в любом случае, они не могут ничего изменить, не оставив записи об этом), либо выделите то, к чему им действительно нужен доступ, в отдельное репо, а затем включите его в свой основной проект как подмодуль. Ты можешь использовать git filter-branch чтобы вырезать части репозитория, к которым дизайнер не должен иметь доступ в отдельном репозитории.

Git так не работает.

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

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

GitHub отлично подходит для такого рода вещей.

Затем вы можете вытащить его изменения, когда они вам понадобятся, проверить их, протестировать и объединить в основную ветку.

В соответствии с Pro Git, ты можешь использовать Обеспечение пользовательской системы ACL чтобы разрешить только определенным пользователям изменять определенные подкаталоги в проекте.

Из статьи:

В этом случае у вас есть пара администраторов, несколько авторов документации с доступом к каталогу doc и один разработчик, который имеет доступ только к каталогам lib и tests, и ваш файл ACL выглядит следующим образом

avail|nickh,pjhyett,defunkt,tpw
avail|usinclair,cdickens,ebronte|doc
avail|schacon|lib
avail|schacon|tests

Вы смотрели на Гитоз? Я не уверен, что он будет делать именно то, что вы хотите, но он предназначен для управления доступом к репозиториям git. Однако я не уверен, будет ли он достаточно подробным для вас.