Gitolite 입문
Gitolite 문서
===============================
본 고 는 Gitolite 의 설치 와 자주 사용 되 는 기능 의 사용 방법 을 포함 합 니 다. 더 자세 한 소개 가 필요 하거나 어떤 문 제 를 해결 하고 있 거나 여기 서 언급 되 지 않 은 기능 만 보고 싶다 면 Gitolite 의 온라인 문 서 를 읽 으 십시오. http://sitaramc.github.com/gitolite/master-toc.html
본 고 는 다음 과 같은 몇 장 을 포함한다.
설치 및 배치
---------------------
서버 환경
git clone git://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin
gitolite setup -pk YourName.pub
마지막 줄 명령 이 잘못 되면 '빈' 디 렉 터 리 가 PATH 에 없 기 때 문 일 수 있 습 니 다. 빈 을 추가 하거나 직접 실행 할 수 있 습 니 다. $HOME/bin/gitolite setup -pk YourName.pub
서버 에 새 사용 자 를 직접 수 동 으로 추가 하거나 코드 라 이브 러 리 를 만 들 지 마 십시오.Gitolite 는 'gitolite - admin' 이라는 특수 코드 라 이브 러 리 를 수정 하여 새 사용자, 코드 라 이브 러 리 생 성 및 접근 제어 규칙 설정 을 완성 합 니 다.
------
코드 라 이브 러 리 를 관리 하려 면 로 컬 에서 다음 작업 을 하 십시오. (만약 아직 이렇게 하지 않 았 다 면)
git clone git@host :gitolite-admin
주의:
서버 에서 비밀 번 호 를 입력 하 라 고 알려 주면 앞에서 말 한 준비 작업 이 이미 되 었 는 지 확인 하 십시오.
명령 이 성공 하면 gitolite - admin 디 렉 터 리 에 두 개의 하위 폴 더 가 있 습 니 다: conf 와 keydir.
새 사용자 alice, bob and carol 을 추가 하려 면 공개 키 를 요청 하고 이 공개 키 를 keydir 에 복사 합 니 다. 예 를 들 어 alice. pub, bob. pub, carol. pub 등 입 니 다.
새 코드 라 이브 러 리 를 추가 하고 접근 제 어 를 설정 하려 면 conf / gitolite. conf 파일 을 편집 하고 파일 끝 에 다음 코드 를 추가 합 니 다.
repo foo
RW+ = alice
RW = bob
R = carol
방문 통제 에 대한 구체 적 인 소 개 는 '방문 통제' 장 을 참조 하 시기 바 랍 니 다.
이 작업 을 완료 한 후 다음 명령 을 실행 하면 효력 이 발생 합 니 다.
git add conf
git add keydir
git commit -m 'added foo, gave access to alice, bob, carol'
git push
push 가 완료 되면 gitolite 는 자동 으로 세 명의 새 사용 자 를 만 들 고 그들의 공개 키 파일 을 ~ /. ssh / authorized keys 파일 에 추가 하 며 'foo' 라 는 빈 코드 라 이브 러 리 를 만 듭 니 다.
사용자 돕 기
사용자 가 공개 키 파일 을 보 낼 때 이전 장 에서 언급 한 것 처럼 공개 키 를 서버 에 추가 하고 새로운 사용 자 를 추가 해 야 하 며 코드 라 이브 러 리 의 접근 주 소 를 알려 야 합 니 다. 일반적인 형식 은 'git clone' 입 니 다.git@host: repname ", 다른 형식 에 대해 서 는 git - clone 의 도움 을 참조 하 십시오.
주:
클 라 이언 트 코드 라 이브 러 리 에서 서버 가 암 호 를 입력 하 라 고 알려 주면 사용자 가 올 바 르 게 추 가 했 는 지 확인 하 십시오.
사용 자 는 "ssh" 를 실행 할 수 있 습 니 다.git@hostinfo "명령 은 그들 이 접근 할 수 있 는 코드 라 이브 러 리 목록 을 보 려 고 합 니 다. 더 많은 명령 소 개 는 본 논문 의" 명령 "장 을 참조 하 십시오.
기초 문법
본 장 은 비교적 복잡 한 권한 수여 예시 로 설명 할 것 이다.
Gitolite 의 방문 통제 가 매우 강하 다. 앞에서 보 여 준 것 은 모두 간단 한 용법 이다. 여기 서 우 리 는 약간 복잡 한 예 를 살 펴 보 자.
repo foo
RW+ = alice
- master = bob
- refs/tags/v[0-9] = bob
RW = bob
RW refs/tags/v[0-9] = carol
R = dave
'clone' 과 'fetch' 와 같은 읽 기 동작 에 대해 서 는 사용자 의 규칙 에 하나 이상 의 읽 기 권한 (R, RW, RW +) 이 있 으 면 지정 한 코드 라 이브 러 리 에 대한 읽 기 동작 을 허용 합 니 다.
"push" 동작 에 대해 제어 규칙 은 권한 (주 1) 과 refex (주 2) 가 대응 할 때 까지 순서대로 찾 습 니 다. 이때 권한 기호 가 "-" 이면 push 작업 을 금지 합 니 다. 그렇지 않 으 면 push 작업 을 허용 합 니 다. 일치 하 는 규칙 을 찾 지 못 하면 작업 을 금지 합 니 다.
주 1: 권한 대응
주 2: refex 대응
(refex = 정규 표현 식 에서 설명 하 는 분기 가 push 와 일치 합 니 다)
예제 코드 의 규칙 은 다음 과 같 습 니 다.
Gitolite 는 사용자 나 코드 라 이브 러 리 를 그룹 으로 나 누 어 관리 하 는 것 을 지원 합 니 다. 예 를 들 어:
@staff = alice bob carol
@interns = ashok
repo secret
RW = @staff
repo foss
RW+ = @staff
RW = @interns
그룹의 정 의 는 누적 되 었 습 니 다. 아래 두 줄 의 정의 결 과 는 위의 첫 줄 과 같 습 니 다.
@staff = alice bob
@staff = carol
그룹 정의
@all-devs = @staff @interns
마지막 으로 @ all 은 내 장 된 특수 그룹 으로 모든 사용자 나 모든 코드 라 이브 러 리 를 대표 합 니 다.
명령 하 다.
사용 자 는 다음 과 같은 ssh 를 원 격 으로 사용 하여 명령 을 수행 할 수 있 습 니 다.
ssh git@host info
이 명령 은 접근 할 수 있 는 모든 코드 라 이브 러 리 를 표시 하 는 데 사 용 됩 니 다.
help 명령 은 사용 가능 한 모든 명령 을 표시 하 는 데 사 용 됩 니 다. 모든 명령 은 '- h' 매개 변수 로 명령 설명 을 볼 수 있 습 니 다.
server 쪽 에 있 으 면 명령 을 더 많이 사용 할 수 있 습 니 다. 'gitolite help' 를 시도 해 보 세 요.
rc 파일
Some of the instructions below may require you to edit the rc file (~/.gitolite.rc on the server). The rc file is perl code, but you do NOT need to know perl to edit it. Just mind the commas, use single quotes unless you know what you're doing, and make sure the brackets and braces stay matched up.
Git 설정
Gitolite 는 원 격 서버 에 로그 인하 지 않 아 도 코드 라 이브 러 리 마다 git - config 의 값 을 설정 할 수 있 습 니 다.
repo foo
config hooks.mailinglist = [email protected]
config hooks.emailprefix = '[foo] '
config foo.bar = ''
config foo.baz =
경고:
마지막 줄 은 설정 을 삭제 하 는 유일한 방법 입 니 다. 설정 파일 에서 해당 줄 을 직접 삭제 하 는 것 은 코드 라 이브 러 리 의. git / config 파일 에서 삭제 할 수 없습니다.
보안 알림:
서버 에서 스 크 립 트 를 실행 할 수 있 는 git - config 값 이 있 습 니 다. 모든 코드 라 이브 러 리 관리자 가 시스템 에 접근 하 는 계 정 이 있다 면 rc 파일 (~ /. gitolite. rc) 의 GIT CONFIG KEYS 를 다음 으로 변경 할 수 있 습 니 다.
GIT_CONFIG_KEYS => '.*'
그렇지 않 으 면 Gitolite 에서 원 격 으로 변경 할 수 있 는 키 를 공백 으로 구 분 된 정규 표현 식 으로 지정 합 니 다. 예 를 들 어 다음 설정 은 "giteb" 또는 "gc" 로 시작 하 는 키 만 수정 할 수 있 습 니 다.
GIT_CONFIG_KEYS => 'gitweb\..* gc\..*'
GIT - DAEMON 과 통합
Gitolite 는 모든 'daemon' 사용자 에 게 읽 기 권한 이 있 는 사용자 에 게 'git - daemon - export - ok' 파일 을 만 듭 니 다. 그러면 git - daemon 방식 으로 fetch 를 만 들 수 있 습 니 다. 예 를 들 어:
repo foo
R = daemon
GITWEB 와 통합
모든 "giteb" 사용자 가 읽 을 수 있 는 권한 이 있 는 코드 라 이브 러 리 는 procjects. list 파일 에 추 가 됩 니 다.
repo foo
R = gitweb
또는 다음 명령 을 통 해 완성 합 니 다:
repo foo
config gitweb.owner = some person's name
config gitweb.description = some description
config gitweb.category = some category
주의:
파일 을 수정 할 수 있 는 권한 은 0027 (기본 값 0077) 이 며, giteb 는 git 그룹 에서 실 행 됩 니 다. 만 든 파일 과 폴 더 에 대해 서 는 'chmod - R' 을 실행 해 야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
gitolite 서버가gitpush의 제출 작성자 정보를 심사합니다Gitolite 버전: v3.5.1 Git는 분산 버전 제어 시스템으로 제출자의 사용자 이름과 메일 주소를 마음대로 설정할 수 있다.팀워크를 할 때 이것은 너무 안전하지 않다.팀 구성원이 다른 사람을 사칭하여 서버 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.