본문 바로가기
웹 개발

[GitHub] Organization vs. Repositories (collaborator, contributor)

by doraemin_dev 2025. 1. 21.

< Organization >

  • 팀 프로젝트에 주로 사용됨. 팀원을 초대하여 공동 작업 가능.
  • 등록된 모든 멤버가 접근 권한을 가짐. (멤버마다 권한 수준은 다를 수 있음)


< 원본/Repositories>

 

  • 외부인은 직접 push 불가.
    ➡️ 외부인은 저장소를 fork하여 자신 계정의 repository로 복사한 뒤 작업후 push 가능.
    작업 후 Pull Request(PR)를 통해 원본 저장소에 변경 사항 반영 요청 가능.
    PR이 관리자로부터 승인되어 Merge되면, 원본 저장소 적용됨. 
    ( 이 과정에서 PR이 승인되면 자동으로 Contributor로 등록됨. )

  • Collaborator가 되면 원본 저장소에 곧바로 pushpull 가능!
    ( 원본 저장소 관리자가 Collaborator로 등록해야 가능. )
    ➡️ 안정성을 위해 fork 후 자신의 repository에서 작업 후 원본으로 push하여 변경 사항을 옮기는 것이 더 안전함.
더보기

원본 Repository에 곧바로 Push

  • Collaborator로 등록된 경우, 원본 저장소에 곧바로 push 가능합니다.
  • 하지만 이는 팀 작업 시 충돌이나 실수의 위험이 있을 수 있습니다.
    • 잘못된 코드를 push할 경우, 다른 팀원들에게도 영향을 미칠 수 있습니다.

Fork 후 작업

  • 원본 Repository를 fork하여 자신의 개인 Repository에서 작업한 뒤, PR을 통해 반영하는 방법은 안정성을 높이는 권장된 방식입니다.
  • 장점:
    1. 작업 중인 브랜치가 격리되어 있어, 실수로 원본에 영향을 주지 않음.
    2. 코드 리뷰를 통해 검증된 후 반영되므로, 품질 관리가 가능.
    3. 개인 작업 공간이므로, 자유롭게 실험 가능.

정리

  • Collaborator라면 원본에 바로 push할 수 있으나, 팀 작업의 안정성을 위해 fork 후 자신의 Repository에서 작업 후 PR을 보내는 방식이 권장됩니다.
  • 이 방식은 특히 대규모 프로젝트협업 환경에서 더 중요합니다.