작성 배경
- 이번주부터 pintOS 프로젝트를 들어가면서 팀 협업 작업이 시작되었다.
- 이에 따라 팀 협업을 위해 Team Git 세팅이 필요해졌는데, 예전부터 팀 협업에서 git 사용을 연습하고 싶었던 차였기 때문에 내가 Team git을 세팅하기로 했다.
- 크게 어려운 내용은 아니지만, Organization을 통해 Team Repository를 생성하고 세팅하는 방법에 대해 글을 작성해보려 한다.
개인 Repository:
- 개인 프로젝트, 연습용 코드, 포트폴리오 등을 저장하고 다른 사람들과 공유하기 위해 사용하는 것에 최적화 되어 있다.
→ 근본적으로 '개인' 작업을 위한 공간이기 때문에, 이곳에서 제공하는 공동 작업 기능은 다소 제한적일 수 있다.Organization
- 팀의 프로젝트, 오픈 소스 프로젝트, 기업의 소스 코드 관리 등 다양한 협업 시나리오에 최적화 되어 있다.
- Organization 안에서 팀원들은 Repository에 대해 공동 접근 권한을 가지며, 팀의 목표에 따라 작업을 조직화하고 협업 할 수 있다.
→ 팀 멤버의 역할과 권한을 관리할 수 있어 프로젝트의 보안과 협업의 효율성을 높일 수 있다.
Github에 접속한 후 로그인 한다. 화면 우상단에 +
버튼을 클릭하고 New Organization
탭을 클릭한다.
Free plan의 Create a free organization
버튼을 클릭한다.
3.Organization의 이름과 Contact email을 작성하고, Next를 클릭한다.
* 이후 Organization으로 멤버 초대하기
- Organization의
People
탭에서 추가적으로 멤버를 초대할 수 있다.
Repositories
탭에서 팀 Repository를 생성하고, 이제부터 여기서 작업을 수행하면 되겠다!Organization 생성도 끝났고, 팀 Repository 생성도 끝났다. 팀원들이 Organization에 입장했다면, 아직 한 가지 단계가 더 남았다.
바로 팀원들이 Repository를 핸들링 하는데 있어 권한을 지정해주는 것이다!
팀 협업이 서툰 나는 Repository까지만 생성하면 끝인줄 알고 권한 설정을 해두지 않아 팀원들이 branch 분기도 못하고 있는 경우가 발생했었다..
* Organization 안에서 Member와 Team
- Organization에서 개인(Member)과 Repository는 Team을 통해 연결된다.
- Organization의 개인(Member)과 Repository는 Team으로 관리되고, Repository에 대한 권한 설정도 Team을 통해 이루어진다.
우선, Organization 안에서 Member들의 권한 설정을 위해 Team을 먼저 설정해주자.
Organization에서 상단의 Teams
탭을 클릭하고, 하단의 New Team
버튼을 클릭 해 팀을 생성할 수 있다.
위와 같이 팀명과 간단한 세팅을 설정하고 Create team
버튼을 클릭 해 팀을 생성해준다.
생성된 팀 내에서 Add a member
버튼을 클릭해 멤버를 초대할 수 있다.
이제 Team을 생성했으니, Repository에 해당 Team을 할당 해 줄 차례다.
우선 할당할 Team Repository 화면으로 넘어가주자.
화면 상단의 Settings
를 클릭하고, Collaborators and teams
를 클릭한다.
이후 Add teams
버튼을 클릭 해 해당 Repository에 팀을 추가해줄 수 있다.
Repository에 대한 해당 팀원들의 접근 권한은 Team을 생성할 때 선택하는 Role
메뉴를 통해 설정된다.
물론, 이는 생성 후에도 변경이 가능하다.
* 팀 권한 설명
Read
- 단순 읽기, 토론 참여 가능
Triage
- 쓰기 권한은 없지만, 이슈와 Pull Requests에 참여 가능
Write
- Project에 소스 코드를
push
하는 등 쓰기 권한 보유Maintain
- 민감한 Action 등에 권한은 없지만, 해당 Repository를 전반적으로 관리 가능
Admin
- 모든 권한 보유
Github Organization 만들기
https://velog.io/@gmlstjq123/Github-Organization-만들기
[GitHub] Organization Team 관리
https://velog.io/@gillog/GitHub-Organization-Team-관리