2012-02-23 2 views
13

Я использую github.Github ограничение доступа

Я пытаюсь выяснить, как ограничить доступ репо для подрядчика, которого у меня есть.

У меня есть основная база данных рельсов, и у меня также есть подрядчик, который будет выполнять работу типа css/ux для меня.

Я хочу дать подрядчику возможность проверить код на git-концентратор только в определенных папках.

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

Я не думаю, что смогу это сделать, ограничив доступ к определенному git-репо, но, возможно, есть способ использовать два репо и ограничить доступ таким образом.

Любая помощь будет оценена!

+0

Если у подрядчика только доступ к определенным папкам, как он может проверить, что он делает? – robert

+0

целью было бы то, что он только редактирует css. поэтому он только редактирует классы css. поэтому, если css является автономным, он должен уметь видеть его, когда он нажимает запущенное приложение. – jignesh

ответ

9

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

Подрядчик будет иметь права на возврат/вылет на репо, являющийся подмодулем, но не имеющий права на основное репо.

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

+0

Я думаю, что подмодуль может работать лучше. Я не много работал с новым подрядчиком, поэтому я немного устал, предоставляя ему доступ и позволяя ему совершить сделку с правильной веткой. Как только я понимаю его стиль работы немного больше, это может быть более простой вариант. – jignesh

+1

Если вы находитесь на github, вы можете позволить ему совершить все, что он хочет, для своего * репо. Когда он готов совершить работу, он может подать запрос на вытягивание, и вы сможете просмотреть его код, прежде чем вы его вносите в * основной * репо – Andy

7

Я не сделал этого, но кажется, что, может быть, у вас есть 2 варианта:

1) предоставляет доступ к подрядчику тянуть (но не толкать) в хранилище. Затем они могут разветвить его, выполнить свою работу на своей вилке (возможно, в филиале?), А затем отправить вам запросы на тяну, и вам придется потянуть за свои изменения. Недостатком является то, что подрядчик не может получить код, выпущенный на сервера без вашего вмешательства (что может быть повышением, в зависимости).

2) Если их работа изолирована от одного поддерева, используйте два репозитория и make one a submodule of the other. Затем вы можете установить управление доступом по-разному в 2 репозиториях, но вы получите единое представление о проекте.

+0

Я думаю это может сработать. Будет ли он читать доступ к основному репо? Я только хочу дать ему полные права на репозиторий подмодулей. Я предполагаю, что главное, что я пытаюсь сделать, это автообновление. – jignesh

+0

Да, он будет. Снова возьмите это с солью; Я на самом деле этого не делал. – denishaskin