2010-07-07 1 views
4

자식의 repo 관리에 대한 질문입니다 만드는 사용자를 거부? 분기에 대한 비슷한 질문 : 특정 분기를 수정할 수있는 사용자 목록을 구성 할 수 있습니까?힘내</p> <p>는 일부 사용자를위한 태그 생성을 허용하는 자식의 repo를 구성 할 수 있습니다 ... 태그 여기

이 모든 설정에 대한 아이디어는 다음과 같습니다. 많은 개발자와 함께하는 git repo가 ​​있으며, 몇 가지 안정적인 분기와 태그 목록이 필요합니다. 선임 개발자 만이 지점을 수정하고 태그를 만들 수 있습니다. 다른 모든 개발자는 여전히 분기를 만들 수 있습니다. 개발자가 ... 안정 지점, 그가 병합을 만들기 위해 물어 수석 담당자에게 문의하는 방법해야 하나에 자신의 변화를 촉진하고자한다면

는 수 가지를 들어 당신에게

+0

한 가지 더 - 프로젝트가 sourceforge.net에 호스팅되어 있다고 상상해보십시오. 오픈 소스이며 많은 개발자가 있습니다. 관리자 만 태그를 만들 수있게하는 것이 합리적입니다 ... – user349302

답변

1

감사와 주석 태그 (예 : 버전 태그 밀기/당기기), gitolite은 이러한 종류의 액세스 제어를 제공 할 수 있습니다.

페이지의 "matching a ref and a refex"(gitolite 3.X)

도구의 이런 종류의 "중심"저장소의 보호를 위해 할 수 있습니다 : 당신이 바로 자격 증명이있는 경우, 당신이 그들을 복제 할 수 있습니다와 함께 당신이 원하는 일을 당신의 로컬 복사본을 만들지 만 뒤로 밀면 Gitolite는 해당 원격 저장소와 관련된 권한을 제어합니다.

더 refex이 같은 규칙 예 refs/.*가 기본값을 제공하지 않으면 :

RW              =   alice 

refex가 refs/ (또는 VREF/)로 시작하지 않음 시작 가정 refs/heads/.
이 정상 지점 편리하게 다음과 같이 쓸 수 있습니다 의미 :

RW  master      =   alice 
# becomes 'refs/heads/master' internally 

태그 정규화 할 필요가있는 동안 :

RW  refs/tags/v[0-9]    =   bob 

그래서 기본적으로 사용자 또는 그룹에 대해 허용하는 명시적인 refs/tag/ 규칙이 없으면 태그를 푸시 할 수 없습니다. 사용자 p

+0

중간에 웹 사이트가 다운 됨 :( – v01pe

+1

@ v01pe 링크를 복원하고 예제를 추가했습니다. – VonC

1

Gerrit (주로 코드 검토 시스템)은 설명하는대로 거의 정확하게이 문제를 해결합니다.

그룹을 정의한 다음 분기에서 검토를 위해 푸시 할 수있는 사용자, 분기에 직접 변경 사항을 푸시 할 수있는 사용자, 다양한 유형의 태그를 푸시 할 수있는 사용자 및 심지어보고/푸시 할 수있는 사용자에 대한 저장소 권한을 설정합니다. 일급 비밀 지사.

Our gerrit instance은 누가 무엇을 어디로 밀어 낼 수 있는지 제한하고 있지만 다른 사람들보다 더 많은 일을 할 수있는 일부 프로젝트에서는 일부 공동 작업자가 있습니다.

0

Git이 그런 식으로 사용하도록 고안된 문서 및 개인 경험을 읽으면 이해할 수 있습니다. 개발자가 적은 수의 개발자가 개발 저장소로 이동하고 수석 개발자가 변경, 병합, 테스트 등의 작업을 수행 한 다음 해당 작업을 수행하는 프로덕션 저장소로 배포하는 다중 저장소 시나리오를 사용하면 쉽게 설명 할 수 있습니다. 개발자가 당길 수 있습니다.

0

.git/refs/heads 및 .git/refs/tags에 대한 표준 파일 액세스 규칙을 사용하여 액세스를 제한 할 수 있습니다. 예를 들어, .git/refs/tags 모드를 775로 만들면 .git/refs/tags를 소유 한 그룹의 구성원 만 태그를 만들 수 있습니다. 비슷하게 읽기 권한이있는 사용자 만 브랜치 foo를 체크 아웃 할 수 있도록 읽기 권한을 .git/refs/heads/foo로 제한 할 수 있으며 .git/refs/heads에 대한 쓰기 권한이있는 사용자 만 새로운 가지. 그러나 이는 신뢰할 수없는 기술이며 적합한 액세스 권한이있는 별개의 저장소를 사용하는 것이 훨씬 낫습니다.