이번 포스팅에선 내 Github Repository에 팀원을 초대하는 방법에 대해서 알아보겠습니다.
깃허브를 통해 협업을 진행하려면, 팀원 중 한명이 원격저장소를 만들어 나머지 팀원들을 공동 작업자(Collaborator)로 추가해야 한다. 참고로, 코드를 변경할 수 있는 작업자에는 두 종류가 있다. 바로 Contributors와 Collaborators이다.
Contributors란, 프로젝트의 핵심 개발 팀에 소속된 인원은 아니지만, 프로젝트의 일부분을 고쳐줌으로써 프로젝트에 기여하고자 하는 사람이다. 즉, 프로젝트 관리자는 아니지만, 프로젝트의 커밋에 관여한 사람을 의미한다. Contributors는 누구나 될 수 있지만, 대신 Push 권한이 없다. 따라서 프로젝트 관리자에게 Pull Request를 보내면, 프로젝트 관리자가 이를 검토하여 Merge하거나 Reject하게 된다. 여기서, Pull Request가 받아들여진 경우에만 그 사람을 Contributors라고 한다.
하지만, 같이 협업할 팀원은 Contributors가 아니라, Collaborators이다. Collaborators는 프로젝트의 공동책임자를 의미한다. 따라서 Github Repository에 대한 push, pull 권한을 모두 가지고 있어야 한다. 누구나 될 수 있는 Contributors와는 달리 Collaborator는 프로젝트 관리자가 직접 권한을 부여한 사용자만 그 자격을 얻을 수 있다. 그러므로, 함께 프로젝트를 개발할 개발자들을 Collaborator로 등록하여 작업을 진행해야 한다.
① Github에 접속한 후 팀원들과 협업하고자 하는 Repository에 들어간다.
② 해당 Repository의 Settings 메뉴로 들어가면 좌측메뉴 상단의 Access > Collaborators를 클릭한다.
③ Add people 버튼을 눌러준다
④ 추가할 Collaborator의 GitHub 아이디를 입력하고 Add {사용자 아이디} to this repository를 클릭한다.
⑤ Access > Collaborator > Manage Access에서 응답을 기다리면 된다. 초대를 받은 사람이 초대 메일에 응답하면 Collaborator 추가가 완료된다.
팀원간 공유 Repository는 private이든 public이든 상관 없이 동작한다. 상황에 맞는 접근제어를 설정하되, 무료 버전의 Private Repository에서는 브랜치 보호 규칙을 사용할 수 없다는 점을 참고하라.
※ 브랜치 보호 규칙
동일한 코드 베이스를 가지고 여러 사람이 협업하다보면, 무질서하게 작성된 코드가 Merge 될 수 있다. 한번의 잘못된 Merge는 디버깅을 어렵게 하고, 심하면 서비스 전체를 망가뜨릴 수도 있다. 이러한 일을 방지하고자 깃허브에서는 Pull Request(PR) 작업을 통해 코드를 병합할 때 리뷰를 받을 수 있는 기능을 제공한다. 유용한 기능이므로 되도록 협업 Repository를 Public으로 선언하는게 좋다. 브랜치 보호를 설정하는 방법에 대해서는 아래의 포스팅을 참조하라.
>> 브랜치 보호 규칙 설정하기
① 초대를 보내면 초대된 사용자의 메일로 초대 메시지가 도착한다. 어떤 메일을 등록했는지 기억이 나지 않는다면 아래의 방법을 시도해보자. (이메일을 알고 있다면 ⑤로 이동하라.)
② 좌측 상단의 본인 프로필을 클릭하여 Settings로 들어간다.
③ 좌측 메뉴의 Access > Emails를 클릭한다.
④ Primary email address에서 본인의 이메일을 확인한다.
⑤ 메일에서 View invitation 버튼을 클릭하면 깃허브 페이지로 이동한다.
⑥ Accept invitation 버튼을 클릭하면 해당 저장소에 접근할 수 있는 권한이 생긴다.
⑦ 초대받은 Repository의 목록은 본인 프로필 > Settings > Code, planning, and automation > Repositories에서 확인할 수 있다.
[이미지 출처]