Github를 사용한 협업 과정에서 팀장은 주로 다음과 같은 역할을 맡습니다:
- Repository 생성: 팀장이 프로젝트의 Repository를 생성합니다.
- 팀원 초대: 팀원들을 Repository의 Collaborator로 초대하여 함께 작업을 진행합니다.
Branch를 이용한 개발
협업 시에는 여러 Branch를 사용하여 개발을 진행합니다. 주요 단계는 다음과 같습니다:
- Branch 생성: 기능별, 버그 수정별로 새로운 Branch를 생성하여 작업을 분리합니다.
- 작업 완료 후 병합: 작업이 완료되면 해당 Branch를 main Branch로 병합(Merge)합니다.
- Pull Request(PR): 병합을 요청하는 과정에서 PR을 생성합니다. 이는 코드 리뷰 및 병합 과정을 관리하는 중요한 도구입니다.
PR 제한 설정
기본 설정에서는 PR을 요청한 사람이 직접 수락할 수 있습니다. 이는 혼자서 요청과 수락을 동시에 할 수 있음을 의미하며, 협업 시에는 바람직하지 않습니다. 따라서 다음과 같은 제한을 설정하여 이를 방지할 수 있습니다:
- PR 승인 제한 설정: PR을 요청한 사람이 본인의 PR을 승인하지 못하도록 설정합니다.
- 코드 리뷰 설정: 다른 팀원이 PR을 검토하고 승인하도록 설정합니다. 이는 코드 품질을 유지하고 협업의 효율성을 높이는 데 도움이 됩니다.
PR 제한 설정 방법
- Repository 설정 페이지로 이동: Repository의 'Settings' 탭으로 이동합니다.
- Branches 섹션 선택: 'Branches' 섹션을 선택합니다.
- Add branch ruleset 추가: 'Add rule'을 클릭하여 새로운 보호 규칙을 추가합니다.
- Ruleset Name : 해당 룰에 대한 이름을 설정합니다.
- Enforcement status : 해당 룰을 사용할 때는 Active로 설정해야 작동합니다. (중요)
- Bypass list : 해당 룰에 얽메이지 않을 사용자를 추가합니다.
- Target branches : 룰이 적용될 branch를 설정합니다. (추후 설명할 예제에서는 main 브랜치만을 선택합니다)
- 필요한 제한 설정: (여러가지 룰이 있지만 merge를 하기 전에 제한 사항을 추가하는 것을 알려드립니다)
- Require a pull request before merging : 마찬가지로 해당 옵션도 여러가지가 있지만 기본만 체크합니다. 본인을 제외한 n명이 리뷰를 해줘야 성공적으로 merge를 할 수 있습니다.
예제 Rule Set
위와 같이 설정을 마치고 나면 아래와 같은 시나리오를 구축할 수 있습니다.
1. 팀원이 로컬 (local branch : dev/jyp-on) 에서 작업후 자신의 branch (예제에선 dev/jyp-on 으로 push)
2. dev/jyp-on -> main 으로 PR 요청
여기서 본인을 제외한 다른 팀원이 리뷰를 추가해야 merge가 가능합니다.
변경사항을 확인 후 Approve review를 전달하면 merge가 가능합니다.
마지막으로 PR 메인으로 돌아와 Merge pull request 버튼을 누르면 main으로 성공적으로 병합이 완료됩니다.
이러한 과정을 통해 효율적이고 체계적인 협업 환경을 구축할 수 있습니다. Github의 다양한 설정을 활용하여 프로젝트의 품질과 협업의 효율성을 높여보세요.
'기타' 카테고리의 다른 글
[Obsidian] 코드 복사 붙여넣기 시 엔터 두번되는 현상 (4) | 2023.12.10 |
---|