/ / Hasło chroni główne repozytorium - git

Hasło chroni główne repozytorium - git

Używamy Git z trzema głównymi gałęziami Development, Test & Master w gołym repozytorium.

Mamy wiele środowisk programistycznych, wszystkie mają repozytorium git. Wszyscy stworzyli gałąź rozwojową i pracują w tej gałęzi, a następnie przekazują swój kod do gałęzi deweloperskiej w gołym repozytorium.

Tymczasem chcemy ograniczyć programiści do przekazywania ich kodu do gałęzi Test & Master z ich działu rozwojowego.

Czy istnieje sposób ochrony gałęzi bez nagrań za pomocą hasła.

Odpowiedzi:

6 dla odpowiedzi № 1

Gorąco polecam używanie gitolit jeśli używasz Linuksa do obsługi repozytorium.

Gitolite pozwala określić na użytkownika lub grupy użytkowników, do jakich gałęzi mogą się kierować, i wiele więcej.

Gitolite jest przydatny na każdym serwerze, który ma zamiarhost wielu repozytoriów git, każdy z wieloma programistami, gdzie "każdy może zrobić cokolwiek z każdym repo" nie jest dobrym pomysłem. Oto dwa przykłady do zilustrowania.

Używa kluczy ssh do identyfikowania użytkowników i na podstawie tego decyduje, co jest dozwolone lub nie.


2 dla odpowiedzi nr 2

Lub zmieniasz podejście na oparte na rozproszeniu:

Zamiast mieć oddział dla każdego zespołu mieć własne repozytorium; z dostępem do zapisu do wszystkiego.

Zamiast gałęzi tylko do odczytu istnieje takagłówne repozytorium, do którego dostęp ma tylko wybrana grupa opiekunów. Ilekroć chcesz, aby coś zostało scalone z repozytoriów rozwoju do głównego repo, musieliby powiadomić opiekunów i kazać im to zrobić.

Sugerowałbym również użycie gitolitu lub Gitosis do łatwego zarządzania repozytoriami (ja sam użyłem tylko Gitosis, jest to łatwe do skonfigurowania i utrzymania).


1 dla odpowiedzi nr 3

Nie można zabezpieczyć hasłem określonej gałęzi za pomocą "git only". To są wszystkie uprawnienia lub żadne.

Możesz użyć gitolite, który jest naprawdę świetny do obsługi uprawnień, jak powiedział Ikke.

Alternatywą bardziej "ręcznie" jest użycie haka pre-receive w twoim zdalnym repozytorium (hooks / post-receive), aby poprosić o hasło.

Możesz to zrobić za pomocą prostego skryptu powłoki lub użyć dowolnego języka, który chcesz.