2012-02-23 12 views
13

Używam github.Github ograniczający dostęp

Próbuję dowiedzieć się, jak ograniczyć dostęp do repo dla kontrahenta, który mam.

Mam podstawowy kod szyny i mam również wykonawcę, który będzie wykonywać dla mnie pracę typu css/ux.

Chcę dać wykonawcy możliwość wpisania kodu do git hub tylko do niektórych folderów.

Idealnie mogę mieć kod checkin, a następnie można go wdrożyć na serwerze, aby mógł zobaczyć zmiany.

Nie sądzę, że mogę to zrobić poprzez ograniczenie dostępu w ramach konkretnego repozytorium git, ale być może jest sposób na użycie dwóch repozytoriów i ograniczenie dostępu w ten sposób.

Każda pomoc zostanie doceniona!

+0

Jeśli wykonawca ma dostęp tylko do określonych folderów, w jaki sposób może sprawdzić, co robi? – robert

+0

celem jest to, że tylko edytuje wygląd i styl css. więc on tylko edytuje klasy css. więc jeśli css jest autodepozycjonowany, powinien być w stanie go zobaczyć, gdy trafi uruchomioną aplikację. – jignesh

Odpowiedz

9

Jeśli wszystkie pliki css/ux znajdują się w określonym podfolderze i chcesz, aby miał dostęp do wszystkiego w tym katalogu, a następnie w dół, możesz to zrobić za pomocą podmodułów git.

Wykonawca będzie miał prawa do wypychania/wyciągania z repozytorium, które jest modułem częściowym, ale nie ma praw do zatwierdzenia na głównym repo.

Można również użyć funkcji żądania wyciągnięcia i upewnić się, że zatwierdza tylko folder, który chce.

+0

Myślę, że submoduł może działać lepiej. Nie współpracowałem z nowym kontrahentem, więc jestem trochę zmęczony tym, że dałam mu dostęp i pozwoliłam mu zaangażować się w odpowiedni oddział. Kiedy zrozumiem nieco jego styl pracy, może to być prostsza opcja. – jignesh

+1

Jeśli jesteś na githubie, możesz pozwolić mu zrobić to, co chce, na jego * repozytorium. Kiedy jest gotowy do zatwierdzenia pracy hiw, może przesłać żądanie ściągnięcia, a będziesz mógł przejrzeć jego kod, zanim wciśniesz go do * głównej * repozytorium – Andy

7

Nie zrobiłem tego, ale wydaje się, że może masz 2 opcje:

1) przyznają dostęp wykonawca pull (ale nie spychają) do repozytorium. Mogą je następnie rozwidlić, wykonać pracę na widelcu (prawdopodobnie w ramach oddziału?), A następnie wysłać żądania wyciągnięcia i trzeba będzie wprowadzić zmiany. Wadą jest to, że wykonawca nie może uzyskać kodu wydanego serwer bez twojej interwencji (w zależności od tego może być odwrotnie).

2) Jeśli ich praca jest izolowana do jednego poddrzewa, użyj dwóch repozytoriów i make one a submodule of the other. Następnie możesz ustawić kontrolę dostępu inaczej w 2 repozytoriach, ale uzyskasz ujednolicony widok projektu.

+0

Myślę, że to może działać. Czy miałby dostęp do głównego repo? Chcę tylko dać mu pełne prawa do repozytorium częściowego. Sądzę, że najważniejszą rzeczą, którą próbuję zrobić, jest autodeploy. – jignesh

+0

Tak, zrobiłby. Ponownie, weź to z przymrużeniem oka; Tak naprawdę tego nie zrobiłem. – denishaskin

Powiązane problemy