Github Organization 만들기

devdo·2024년 10월 2일
0

Git

목록 보기
5/5

지금까지는 개인 Repository에 코드를 업로드하고, 팀원들과 협업하는 방법을 다뤄보았다면, 이번 포스팅에서는 Organization을 만들어 Repository를 관리해보려 한다. 개인 Repository에서 협업하는 것과 Organization Repository에서 협업하는 것의 차이가 무엇인지 알아보자.

1) 개인 Repository
개인 레포지토리는 GitHub에서 개인 사용자가 자신의 코드를 관리하는 데 사용하는 저장소이다. 개인 레포지토리는 해당 개인 계정에 속하며, 해당 계정의 소유자만이 관리 권한을 갖는다.

개인 레포지토리는 개인 프로젝트, 연습용 코드, 포트폴리오 등을 저장하고 다른 사람과 공유하기 위해 사용하는 것에 최적화되어 있다. 그러다보니 개인 레포지토리에서 제공하는 공동 작업 기능은 다소 제한적일 수 있다.

물론, 개인 Repository에서 협업을 못한다는 뜻도 아니고, 하지 말라는 뜻도 아니지만, 적어도 Organization을 사용할 때 협업이 더욱 편리해진다는 것은 분명하다.

2) Organization
Organization은 GitHub에서 팀 또는 조직을 나타내는 단위이다. Organization을 만들면 팀원들을 초대하여 공동 작업을 할 수 있게 된다. Organization은 멤버 관리, 레포지토리 관리, 팀 관리 등 다양한 협업 기능을 제공한다.

Organization은 팀의 프로젝트, 오픈 소스 프로젝트, 기업의 소스 코드 관리 등 다양한 협업 시나리오에 최적화되어 있다. Organization 내에서 팀원들은 레포지토리에 대해 공동 접근 권한을 가지며, 팀의 목표에 따라 작업을 조직화하고 협업할 수 있다. Organization은 팀 멤버의 역할과 권한을 관리할 수 있어 프로젝트의 보안과 협업의 효율성을 높일 수 있다.

3) 차이점
어떤 방식을 사용할지는 프로젝트의 규모, 협업의 정도, 요구사항에 따라 달라질 수는 있다. 다만, 일반적인 경우에 대부분 Organization을 만들어 팀프로젝트를 진행한다. 그 이유는 아래와 같다.

① 권한 관리

개인 레포지토리에서는 권한 관리 기능이 제한적이다.
다른 사람에게 작업을 위임하거나 특정 작업에 대한 권한을 제한하는 등의 고급 권한 설정이 어렵고 심지어는 불가능한 경우도 있다.
② 이슈 및 Pull Request 관리

개인 레포지토리에서는 이슈 트래킹 및 Pull Request 관리를 위한 기능이 제한적이다.
다른 사람과 공유하고 토론할 수 있는 이슈를 작성하거나 Pull Request를 리뷰하고 병합하는 것이 다소 제한적일 수 있다.
③ 프로젝트 관리

개인 레포지토리에서는 프로젝트 관리 기능이 제한적이다.
프로젝트 보드를 사용하여 작업을 추적하거나 프로젝트를 조직화하는 기능도 다소 제한적일 수 있다.
④ 보안 및 액세스 제어

개인 레포지토리에서는 보안 및 액세스 제어 관련 기능이 제한적이다.
즉, 특정 팀원 또는 그룹에게만 액세스 권한을 부여하거나 레포지토리에 대한 보안 설정을 구체적으로 제어하기가 어렵고 불편하다.

public Repository 여도 팀원들에게 권한(wirte) 엑세스까지는 주어야 한다. 그리고 참여(invite)해준 팀원들에게 코드 공유를 하기 위해서는 public이어야 한다.



참고

profile
배운 것을 기록합니다.

0개의 댓글