Skip to main content

포크의 사용 권한 및 표시 여부 정보

포크의 사용 권한 및 표시 여부는 업스트림 리포지토리가 퍼블릭인지 아니면 프라이빗인지 여부, , 조직이 소유하고 있는지 여부에 따라 달라집니다.

포크를 만들기 위한 권한 정보

의 구성원이 아니면 리포지토리 리포지토리를 만들 수 있는 권한이 있는 조직이나 개인 계정에 퍼블릭 리포지토리를 포크할 수 있습니다. 프라이빗 리포지토리에 액세스할 수 있고 소유자가 포크를 허용하는 경우 개인 계정 또는 리포지토리 생성 권한이 있는 GitHub Team의 조직에 리포지토리를 포크할 수 있습니다. GitHub Free을 사용하여 개인 리포지토리를 조직에 포크할 수 없습니다. GitHub Team 및 GitHub Free에 대한 자세한 내용은 "GitHub의 플랜"을 참조하세요.

개인 계정에 속한 프라이빗 리포지토리를 포크하는 경우 외부 협력자도 포크에 액세스할 수 있습니다. 프라이빗 리포지토리를 포크하는 경우 조직 내 팀은 포크에 액세스할 수 있지만 외부 협력자는 포크에 액세스할 수 없습니다. 외부 협력자를 포크에 추가할 수 있지만 외부 협력자에게 업스트림 리포지토리 액세스 권한이 있는 경우에만 추가할 수 있습니다.

관리형 사용자가 있는 엔터프라이즈의 멤버인 경우, 포크할 수 있는 리포지토리에 대한 추가 제한 사항이 있습니다. 자세한 내용은 "Enterprise Managed Users 정보"을(를) 참조하세요(GitHub Enterprise Cloud 설명서).

조직은 조직이 소유한 프라이빗 리포지토리의 포크를 허용하거나 방지할 수 있으며, . 자세한 내용은 "조직에 대한 포크 정책 관리"을(를) 참조하세요.

포크 표시 여부 정보

포크는 “업스트림” 리포지토리와 코드 및 표시 유형 설정을 공유하는 새 리포지토리입니다. 퍼블릭 리포지토리의 모든 포크는 공개됩니다. 포크의 표시 여부를 변경할 수 없습니다.

모든 리포지토리는 리포지토리 네트워크에 속합니다. 리포지토리 네트워크에는 업스트림 리포지토리, 업스트림 리포지토리의 직접 포크 및 해당 포크의 모든 포크가 포함됩니다. 리포지토리 네트워크의 모든 포크에는 동일한 표시 여부 설정이 적용됩니다. 자세한 내용은 "리포지토리 간 연결 이해"을(를) 참조하세요.

리포지토리를 삭제하거나 리포지토리의 표시 여부 설정을 변경하면 리포지토리의 포크에 영향을 미치게 됩니다. 자세한 내용은 "리포지토리가 삭제되거나 표시 여부가 변경되면 포크는 어떻게 되나요?"을(를) 참조하세요.

포크의 사용 권한 정보

프라이빗 포크는 업스트림 리포지토리의 사용 권한 구조를 상속합니다. 이를 통해 프라이빗 리포지토리 소유자가 코드에 대한 제어를 유지할 수 있습니다. 예를 들어 업스트림 리포지토리가 프라이빗 리포지토리이고 팀에 대한 읽기/쓰기 액세스 권한을 제공하는 경우 동일한 팀은 프라이빗 업스트림 리포지토리의 모든 포크에 대한 읽기/쓰기 액세스 권한을 갖습니다. 프라이빗 포크에서는 개별 사용 권한이 아닌 팀 권한만 상속됩니다.

참고: 조직에 대한 기본 권한을 변경하면 프라이빗 포크에 대한 사용 권한이 자동으로 업데이트되지 않습니다. 자세한 내용은 "조직에 대한 기본 권한 설정" 항목을 참조하세요.

퍼블릭 포크는 업스트림 리포지토리의 사용 권한 구조를 상속하지 않습니다. 퍼블릭 리포지토리를 개인 계정으로 포크하거나 변경한 후 끌어오기 요청을 열어 변경 내용을 상위 리포지토리에 제안하면, 업스트림 리포지토리에 대한 푸시 액세스 권한이 있는 모든 사용자에게 끌어오기 요청 분기에 변경 내용을 푸시할 수 있는 권한을 부여할 수 있습니다(분기 삭제 포함). 이렇게 하면 리포지토리 유지 관리자가 병합하기 전에 사용자 소유 포크에서 끌어오기 요청 분기로 로컬에서 커밋하거나 테스트를 실행할 수 있도록 하여 협업 속도가 향상됩니다. 조직에서 소유한 포크에는 푸시 권한을 부여할 수 없습니다. 자세한 내용은 "포크에서 만든 끌어오기 요청 분기에 대한 변경 허용"을 참조하세요.

중요한 보안 고려 사항

포크를 사용하거나 포크를 허용하는 리포지토리 또는 조직의 소유자인 경우 다음 보안 고려 사항을 숙지해야 합니다.

  • 포크에는 업스트림 리포지토리와 별개인 고유한 권한이 있습니다.
  • 포크된 리포지토리의 소유자에게는 리포지토리의 포크 네트워크에 있는 모든 포크에 대한 읽기 권한이 있습니다.
  • 포크된 리포지토리의 조직 소유자에게는 포크 및 분기를 삭제하는 기능을 포함하여 개인 사용자 네임스페이스에서 만든 포크에 대한 관리자 권한이 있습니다.
  • 포크된 리포지토리의 조직 소유자에게는 조직에서 만든 포크에 대한 읽기 권한이 있지만 포크 또는 분기를 삭제할 수 있는 권한이 없습니다.
  • 업스트림 리포지토리에서 개별 액세스가 제거되더라도 다른 조직에서 만든 포크는 삭제되지 않습니다.
  • 포크 네트워크의 모든 리포지토리에 대한 커밋은 업스트림 리포지토리를 포함하여 동일한 포크 네트워크의 모든 리포지토리에서 액세스할 수 있습니다.

조직 내 포크 정보

동일한 조직 내의 포크는 업스트림 리포지토리의 협력자 및 팀 설정을 복사합니다. 리포지토리가 조직 소유인 경우:

  • 해당 조직이 포크의 권한을 제어합니다.
  • 대상 조직 또는 사용자 네임스페이스에 존재하고 표시되는 업스트림 권한 구조의 모든 팀은 해당 사용 권한을 복사합니다.
  • 관리자 권한은 사용자가 다른 조직으로 포크하는 경우를 제외하고 업스트림 소유자에게 남아 있습니다.
  • 해당 리포지토리가 사용자 네임스페이스로 포크된 경우 조직에 관리자 권한이 유지되고 액세스 권한이 있는 모든 팀에 액세스 권한이 유지됩니다.