2013-03-27 3 views
4

우리는 힘내 주 저장소에 Test & Master라는 세 가지 주요 브랜치가있는 Git을 사용하고 있습니다.암호로 보호되는 마스터 저장소

우리 모두는 git 저장소가있는 많은 개발 환경을 가지고 있습니다. 모든 사람이 개발 지점을 만들고 그 지점에서 작업하고 코드를 베어 저장소의 개발 지점에 보냅니다.

한편 우리는 코드를 개발자 분기에서 Test & 마스터 브랜치로 푸시하도록 개발자를 제한하려고합니다.

비밀번호를 사용하여 맨손 저장소 지점을 보호 할 수있는 방법이 있습니까?

답변

6

linux를 사용하여 저장소를 호스팅하는 경우 gitolite을 사용하는 것이 좋습니다.

Gitolite를 사용하면 사용자 또는 사용자 그룹별로 푸시 할 수있는 지점 등을 지정할 수 있습니다.

Gitolite는 많은 개발자가있는 여러 git 저장소를 호스팅 할 모든 서버에서 유용합니다. "누구든지 모든 repo에 대해 아무 것도 할 수 있습니다"는 좋은 생각이 아닙니다. 설명 할 두 가지 예가 있습니다.

ssh 키를 사용하여 사용자를 식별하고이를 기반으로 허용되는 항목을 결정합니다.

+0

나 두 번째. Gitolite는 설치가 쉽고 잘 작동합니다. – jszakmeister

2

또는 분산 풀 기반의 접근 방식으로 변경 : 그들은 자신의 저장소이 각 팀에 대한 분기를하는 대신

; 거기에 모든 것을 쓸 수있는 액세스 권한이 있습니다.

읽기 전용 마스터 분기 대신 선택된 유지 보수 그룹 만 쓰기 권한을 갖는 하나의 주 저장소가 있습니다. 개발 레포지에서 메인 레포로 병합 된 것을 원할 때마다 관리자는이를 유지 보수 담당자에게 통보해야합니다.

gitosis 또는 Gitosis를 사용하여 저장소를 쉽게 관리 할 것을 제안합니다. (나 자신은 Gitosis 만 사용 했으므로 설정 및 유지 관리가 쉽습니다.)

1

"지트 전용"으로 특정 지사를 암호로 보호 할 수 없습니다. 그것은 모든 권한이거나 none입니다.

Ikke가 말한 것처럼 gitolite를 사용하면 사용 권한을 처리하는 것이 정말 좋습니다.

"hand made"다른 방법으로는 원격 베어 저장소 (후크/후속 수신)에서 사전 수신 후크를 사용하여 비밀번호를 요청하는 것입니다.

간단한 쉘 스크립트로 만들거나 원하는 언어를 사용할 수 있습니다.

관련 문제