Skip to main content

리포지토리 전송

리포지토리를 다른 사용자 또는 조직 계정으로 전송할 수 있습니다.

리포지토리 전송 정보

리포지토리를 새 소유자에게 전송하면 리포지토리의 콘텐츠, 문제, 끌어오기 요청, 릴리스, projects (classic), 설정을 즉시 관리할 수 있습니다. 리포지토리를 전송하는 동안 리포지토리 이름을 변경할 수도 있습니다. "리포지토리 이름 바꾸기" 항목을 참조하세요.

리포지토리 전송을 위한 필수 구성 요소는 다음과 같습니다.

  • 소유한 리포지토리를 다른 개인 계정으로 전송하면 새 소유자가 확인 메일을 받게 됩니다. 확인 메일에는 전송을 수락하기 위한 지침이 포함되어 있습니다. 새 소유자가 1일 이내에 전송을 수락하지 않으면 초대가 만료됩니다.
  • 리포지토리를 전송하려면 리포지토리에 대한 관리자 액세스 권한이 있어야 합니다.
  • GitHub.com의 리포지토리는 GitHub.com의 다른 소유자에게만 전송할 수 있습니다.
  • 소유한 리포지토리를 조직에 전송하려면 대상 조직에서 리포지토리를 만들 수 있는 권한이 있어야 합니다.
  • 대상 계정에는 동일한 이름의 리포지토리 또는 동일한 네트워크에 포크가 없어야 합니다.
  • 리포지토리의 원래 소유자는 전송된 리포지토리의 협력자로 추가됩니다. 전송된 리포지토리에 대한 다른 협력자는 그대로 유지됩니다.
  • 프라이빗 업스트림 네트워크에서 포크된 단일 리포지토리는 전송할 수 없습니다.

프라이빗 리포지토리를 GitHub Free 사용자 또는 조직 계정으로 전송하는 경우 리포지토리는 보호된 분기 및 GitHub Pages와(과) 같은 기능에 액세스할 수 없게 됩니다. 자세한 내용은 “GitHub의 플랜”를 참조하세요.

전송된 리포지토리에 GitHub Marketplace에 등록된 동작이 포함되어 있거나 전송 전 주에 GitHub Actions의 복제본이 100개를 초과하거나 사용이 100개를 초과하는 경우 GitHub은(는) 리포지토리를 전송할 때 소유자 이름과 리포지토리 이름 조합(OWNER/REPOSITORY-NAME)을 영구적으로 사용 중지합니다. 사용 중지된 소유자 이름 및 리포지토리 이름 조합을 사용하여 리포지토리를 만들려고 하면 "REPOSITORY_NAME 리포지토리가 사용 중지되었으며 다시 사용할 수 없습니다."라는 오류가 표시됩니다.

리포지토리를 사용하여 전송되는 항목은 무엇인가요?

리포지토리를 전송하면 해당 문제, 끌어오기 요청, 위키, 별, 감시자도 전송됩니다. 전송된 리포지토리에 웹후크, 서비스, 비밀 또는 배포 키가 포함된 경우 전송이 완료된 후에도 연결된 상태로 유지됩니다. 기여를 포함하여 커밋에 대한 Git 정보가 유지됩니다. 추가:

  • 전송된 리포지토리가 포크인 경우 업스트림 리포지토리와 연결된 상태로 유지됩니다.

  • 전송된 리포지토리에 포크가 있는 경우 해당 포크는 전송이 완료된 후에도 리포지토리와 연결된 상태로 유지됩니다.

  • 전송된 리포지토리에서 Git 대용량 파일 스토리지을(를) 사용하는 경우 모든 Git LFS 개체가 자동으로 이동됩니다. 이 전송은 백그라운드에서 발생하므로 많은 수의 Git LFS 개체가 있거나 Git LFS 개체 자체가 큰 경우 전송하는 데 다소 시간이 걸릴 수 있습니다. Git LFS을(를) 사용하는 리포지토리를 전송하기 전에 수신 계정에 이동할 Git LFS 개체를 저장할 충분한 데이터 팩이 있는지 확인합니다. 개인 계정 스토리지를 추가하는 방법에 대한 자세한 내용은 "Git Large File Storage 업그레이드"을(를) 참조하세요.

  • 두 개인 계정 간에 리포지토리가 전송되면 문제 할당은 그대로 유지됩니다. 개인 계정에서 조직으로 리포지토리를 전송하는 경우 조직의 구성원에게 할당된 문제는 그대로 유지되고 다른 모든 문제 담당자는 지워집니다. 조직의 소유자만 새 문제 할당을 만들 수 있습니다. 조직에서 개인 계정으로 리포지토리를 전송하는 경우 리포지토리의 소유자에게 할당된 문제만 유지되고 다른 모든 문제 담당자는 제거됩니다.

  • 전송된 리포지토리에 GitHub Pages 사이트가 포함된 경우 웹 및 Git 활동을 통해 Git 리포지토리에 대한 링크가 리디렉션됩니다. 그러나 리포지토리와 연결된 GitHub Pages은(는) 리디렉션하지 않습니다.

  • 이전 리포지토리 위치에 대한 모든 링크는 자동으로 새 위치로 리디렉션됩니다. 전송된 리포지토리에서 git clone, git fetch 또는 git push를 사용하는 경우 이러한 명령은 새 리포지토리 위치 또는 URL로 리디렉션됩니다. 그러나 혼동을 방지하려면 새 리포지토리 URL을 가리키도록 기존 로컬 클론을 업데이트하는 것이 좋습니다. 명령줄에서 git remote를 사용하여 이 작업을 수행할 수 있습니다.

    git remote set-url origin NEW_URL
    

    경고: 이전 리포지토리 위치에서 새 리포지토리 또는 포크를 만들면 전송된 리포지토리로의 리디렉션이 비활성화됩니다. 새 리포지토리 또는 포크의 이름을 바꾸거나 삭제하고 다시 활성화할 수 있습니다.

  • 조직에서 개인 계정으로 리포지토리를 전송하는 경우 리포지토리의 읽기 전용 협력자는 전송되지 않습니다. 협력자는 개인 계정이 소유한 리포지토리에 대한 읽기 전용 액세스 권한을 가질 수 없기 때문입니다. 리포지토리 권한 수준에 대한 자세한 내용은 "개인 계정 리포지토리에 대한 권한 수준", "조직의 리포지토리 역할"을(를) 참조하세요.

  • 스폰서쉽 계층을 통해 리포지토리에 액세스할 수 있는 스폰서가 영향을 받을 수 있습니다. "스폰서쉽 계층 관리" 항목을 참조하세요.

  • 리포지토리 과(와) 연결된 패키지는 전송되거나 속한 레지스트리에 따라 리포지토리에 대한 링크가 손실될 수 있습니다.. "GitHub 패키지에 대한 사용 권한 정보" 항목을 참조하세요.

"원격 리포지토리 관리" 항목을 참조하세요.

리포지토리 전송 및 조직

리포지토리를 조직에 전송하려면 수신 조직에 리포지토리 만들기 권한이 있어야 합니다. 조직 소유자가 조직 구성원에 의해 리포지토리 만들기를 사용하지 않도록 설정한 경우 조직 소유자만 리포지토리를 조직 외부 또는 내부로 전송할 수 있습니다.

리포지토리가 조직으로 전송되면 조직의 기본 리포지토리 권한 설정 및 기본 멤버 자격 권한이 전송된 리포지토리에 적용됩니다.

개인 계정이 소유한 리포지토리 전송

리포지토리 전송을 수락하는 개인 계정으로 리포지토리를 전송할 수 있습니다. 두 개인 계정 간에 리포지토리가 전송되면 원래 리포지토리 소유자와 협력자가 새 리포지토리에 협력자로 자동으로 추가됩니다.

개인 리포지토리에 GitHub Pages 사이트를 게시하고 사용자 지정 도메인을 추가한 경우 리포지토리를 전송하기 전에 도메인 인수의 위험을 방지하기 위해 DNS 레코드를 제거하거나 업데이트할 수 있습니다. "GitHub Pages 사이트의 사용자 지정 도메인 관리" 항목을 참조하세요.

  1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  3. 페이지 아래쪽의 "위험 영역" 섹션에서 전송을 클릭합니다.

  4. 리포지토리 전송에 대한 정보를 읽은 다음 "새 소유자"에서 새 소유자를 지정하는 방법을 선택합니다.

    • 조직 중 하나를 선택하려면 내 조직 중 하나를 선택합니다.

      • 드롭다운 메뉴를 선택한 다음 조직을 클릭합니다.

      • 필요에 따라, "리포지토리 이름" 필드에 리포지토리의 새 이름을 입력합니다.

        참고: 리포지토리의 이름을 바꾸려면 대상 조직의 소유자여야 합니다.

    • 조직 또는 사용자 이름을 지정하려면 조직 또는 사용자 이름 지정을 선택한 다음 조직 이름 또는 새 소유자의 사용자 이름을 입력합니다.

  5. 새 소유자의 GitHub 구독에 따른 기능의 잠재적 손실에 대한 경고를 읽습니다.

  6. REPOSITORY NAME을 입력하고 확인한 뒤, 전송하려는 리포지토리의 이름을 입력한 다음 이해함, 이 리포지토리를 전송을 클릭합니다.

조직이 소유한 리포지토리 전송

조직의 소유자 권한 또는 관리자 권한이 해당 리포지토리 중 하나에 있는 경우 조직 소유의 리포지토리를 개인 계정 또는 다른 조직으로 전송할 수 있습니다.

  1. 리포지토리를 소유한 조직의 관리자 또는 소유자 권한이 있는 개인 계정에 로그인합니다.

  2. GitHub에서 리포지토리의 기본 페이지로 이동합니다.

  3. 리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  4. 페이지 아래쪽의 "위험 영역" 섹션에서 전송을 클릭합니다.

  5. 리포지토리 전송에 대한 정보를 읽은 다음 "새 소유자"에서 새 소유자를 지정하는 방법을 선택합니다.

    • 조직 중 하나를 선택하려면 내 조직 중 하나를 선택합니다.

      • 드롭다운 메뉴를 선택한 다음 조직을 클릭합니다.

      • 필요에 따라, "리포지토리 이름" 필드에 리포지토리의 새 이름을 입력합니다.

        참고: 리포지토리의 이름을 바꾸려면 대상 조직의 소유자여야 합니다.

    • 조직 또는 사용자 이름을 지정하려면 조직 또는 사용자 이름 지정을 선택한 다음 조직 이름 또는 새 소유자의 사용자 이름을 입력합니다.

  6. 새 소유자의 GitHub 구독에 따른 기능의 잠재적 손실에 대한 경고를 읽습니다.

  7. REPOSITORY NAME을 입력하고 확인한 뒤, 전송하려는 리포지토리의 이름을 입력한 다음 이해함, 이 리포지토리를 전송을 클릭합니다.