리포지토리의 프로그래매틱 가져오기 정보
다음 가이드에서는 Git 리포지토리의 "원본 및 기록" 마이그레이션을 GitHub.com으로 프로그래밍 방식으로 실행하는 방법을 알아볼 수 있습니다. 리포지토리가 저장되는 위치에 따라 다양한 옵션을 사용할 수 있습니다.
"원본 및 기록"과 기타 유형의 마이그레이션에 대한 자세한 내용은 "GitHub로 마이그레이션 계획"을 참조하세요.
"원본 리포지토리"라는 용어는 가져오려는 리포지토리를 의미하며, "가져온 리포지토리"는 만드는 새 리포지토리를 의미합니다.
포크 사용
원본 리포지토리가 GitHub.com에 있는 경우 리포지토리를 가져오는 대신 포크를 사용할 수 있습니다. 포크는 "업스트림" 리포지토리리라고도 하는 원본 리포지토리에 영향을 미치지 않고 프로젝트를 변경하도록 해줍니다. 리포지토리를 포크한 후, 업스트림 리포지토리에서 업데이트를 가져와 포크를 최신 상태로 유지하고, 끌어오기 요청을 사용하여 포크에서 업스트림 리포지토리로 변경 내용을 제안할 수 있습니다. 자세한 내용은 "포크 정보"을 참조하세요.
REST API를 사용하여 프로그래밍 방식으로 리포지토리를 포크할 수 있습니다. 자세한 내용은 "포크에 대한 REST API 엔드포인트"을(를) 참조하세요.
사용 사례가 다음 조건을 충족하는 경우 리포지토리를 직접 가져오는 대신 포크를 사용할 수 없습니다.
- 가져온 리포지토리를 원본 리포지토리와 동일한 사용자 또는 조직에서 소유하려고 합니다.
- 한 사용자 또는 조직이 동일한 원본 리포지토리를 여러 번 가져올 수 있도록 하려고 합니다.
리포지토리 템플릿 사용
원본 리포지토리가 GitHub.com에 있는 경우 리포지토리 템플릿을 사용할 수 있습니다. 기존 리포지토리에서 템플릿을 만들 수 있습니다. 템플릿 리포지토리에 액세스할 수 있는 모든 사용자는 동일한 디렉터리 구조, 분기 및 파일을 사용하여 해당 템플릿을 기반으로 새 리포지토리를 만들 수 있습니다. 자세한 내용은 "템플릿 리포지토리 만들기"을 참조하세요.
리포지토리 템플릿을 사용하려면 템플릿인 기존 리포지토리에 대한 읽기 권한이 있거나 템플릿을 만들 수 있는 액세스 권한이 있어야 합니다.
REST API를 사용하여 리포지토리 템플릿에서 리포지토리를 프로그래밍 방식으로 만들 수 있습니다. 자세한 내용은 "리포지토리에 대한 REST API 엔드포인트"을(를) 참조하세요.
GitHub Enterprise Importer 사용
원본 리포지토리가 GitHub.com, GitHub Enterprise Server, Azure DevOps Services, Bitbucket Server 또는 Bitbucket 데이터 센터에서 호스트되는 경우 GitHub Enterprise Importer을(를) 사용하여 리포지토리를 가져올 수 있습니다. 자세한 내용은 "GitHub Enterprise Importer 정보"을(를) 참조하세요.
원본 및 버전 제어 기록 외에도 GitHub Enterprise Importer은(는) 문제, 끌어오기 요청, 설정 등을 마이그레이션합니다.
GitHub Enterprise Importer을(를) 사용하려면 관리자가 원본 리포지토리에 액세스할 수 있어야 합니다.
GraphQL API를 사용하여 GitHub Enterprise Importer를 통해 리포지토리를 프로그래밍 방식으로 가져올 수 있습니다.
Git CLI 사용
원본 리포지토리가 Git 리포지토리인 경우 코드에서 프로그래밍 방식으로 Git CLI를 호출할 수 있습니다. GitHub의 REST API를 사용하여 프로그래밍 방식으로 리포지토리를 만든 다음, git clone
및 git push
와(과) 같은 명령을 사용하여 리포지토리를 GitHub.com(으)로 가져올 수 있습니다.
Git CLI를 호출하는 방법은 코드의 언어에 따라 다릅니다. 예를 들어 Node.js에서 child_process
모듈을 사용하거나 Ruby에서 open3
모듈을 사용할 수 있습니다. 자세한 내용은 Node.js 설명서의 자식 프로세스 또는 GitHub.com의 ruby/open3 리포지토리를 참조하세요.
Git CLI를 사용하려면 애플리케이션을 호스트하는 시스템에 Git을 설치할 수 있는 액세스 권한이 있어야 합니다. 자세한 내용은 Gradle 설명서의 시작 - Git 설치를 참조하세요.
GitHub CLI 사용
원본 리포지토리가 Git 리포지토리인 경우 코드에서 프로그래밍 방식으로 GitHub CLI을(를) 호출할 수 있습니다. 리포지토리를 만드는 데 gh repo create
을(를) 사용할 수 있습니다. 자세한 내용은 "GitHub CLI 정보"을(를) 참조하세요.