STEP 0. Organization에 People 추가하기
Organization > People > (Invite member 후 멤버가 자신 이메일에서 조직 가입 수락) >
맴버 오른쪽의 '...' 클릭 > Change role... >
Owner 또는 Member 선택
역할 | 권한 수준 | 할 수 있는 작업 |
Owner | 최고 관리자 | 조직 및 리포지토리 전체 설정 변경, 팀 생성 및 삭제, 보호된 브랜치 관리 |
Member | 제한된 권한 | 할당된 리포지토리 내에서만 작업 가능 (읽기, 쓰기, 관리자 권한에 따라 다름) |
STEP 1-1. [Organization 차원에서] Member에게 권한 부여하기
Organization 차원에서 권한 부여하면, 해당 권한에 따라 '조직'을 관리할 수 있다.
Organization > Settings > Member privileges >
No permission / Read(초기 값) / Write / Admin 중 권한 택 1.
STEP 1-2. [Repository 차원에서] Member에게 권한 부여하기
Repository 차원에서 권한 부여하면, 해당 권한에 따라 '해당 Repositoy'만 관리할 수 있다.
ex)
Back-End Repository에는, 백엔드 개발자만 Write 권한 부여.
Front-End Repository에는, 프론트엔드 개발자만 Write 권한 부여.
Organization > Repository 이동 > Settings > Collaborators and teams > 권한 줄 사람 입력 >
Read / Triage / Write / Maintain / Admin 중 권한 택 1.
STEP 2. Branch Rules 설정하기
브랜치 관리할 수 있는 권한 부여.
ex) 관리자만 main 브랜치에 merge 할 수 있도록 하자.
먼저, Team 만들기.
Organization > Teams > New team
Repository로 이동 > Settings > Rules > Rulsets > Rulesets >
New ruleset > New branch ruleset >
Bypass list에는 방금 만든 Team 추가 >
Targets에는 main 브랜치 추가 >
branch rules 추가해주자.
branch rules 몇가지 설명.
- Restrict updates (업데이트 제한)
- 브랜치를 직접 업데이트할 수 있는 사용자를 제한하는 기능입니다.
- 이 옵션이 활성화되면, "Bypass list"에 등록된 사용자 또는 팀만 해당 브랜치를 업데이트할 수 있습니다.
- git push 또는 merge를 시도할 때도 적용됩니다.
- "Require a pull request before merging" 설정
- main 브랜치에 직접 push할 수 없으며, 반드시 **Pull Request (PR)**를 통해 병합해야 합니다.
- 즉, git push origin main 같은 직접적인 푸시는 차단됩니다.
- "Required approvals" (필수 리뷰 설정) 확인
- 이 옵션이 1 이상으로 설정되어 있으면, PR을 병합하기 전에 해당 개수만큼 **리뷰 승인(Approval)**을 받아야 합니다.
- 만약 리뷰를 받지 않고 PR을 머지하려면, Required approvals를 0으로 설정해야 합니다.
- "Require status checks to pass" (필수 상태 체크) 확인
- CI/CD 체크가 설정되어 있다면, **모든 상태 체크(Status Checks)**가 성공해야 PR이 머지될 수 있습니다.
- 예를 들어, GitHub Actions, Jenkins, Travis CI 같은 빌드/테스트가 성공하지 않으면 머지가 차단될 수 있음.
- "Allowed merge methods" 확인
- Squash merge, Merge commit, Rebase merge 중 최소 한 가지는 활성화되어 있어야 합니다.
- 만약 병합 방식이 전부 차단되어 있다면, PR을 병합할 수 없습니다.
- "Block force pushes" 설정 확인
- 이 옵션이 활성화되어 있으면, git push --force는 차단됩니다.
- 하지만 일반적인 push 및 PR 병합에는 영향을 주지 않습니다.
Merge without waiting for requirements to be met (bypass branch protections) 옵션이 보인다는 것은 Bypass list에 등록된 사용자가 맞으며, 일반 사용자는 병합을 할 수 없는 상태라는 것을 의미합니다.
즉, 팀 멤버가 아닌 사람은 merge를 시도할 수 없고, 당신은 bypass 권한이 있어 병합을 진행할 수 있는 상태입니다.
'웹 개발' 카테고리의 다른 글
[llama] Flutter로 chatBot App 만들기 (0) | 2025.02.03 |
---|---|
[Docker] FastAPI container 설치 및 실행 with llama (0) | 2025.02.03 |
[공모전] README.md (1) | 2025.01.24 |
[GitHub] Organization vs. Repositories (collaborator, contributor) (0) | 2025.01.21 |
[GitHub] 사용법 (fork, commit, PR) (0) | 2024.10.22 |