Skip to main content

명령줄을 사용하여 외부 Git 리포지토리 가져오기

Git 리포지토리가 공용 인터넷에서 액세스할 수 없는 코드 호스팅 서비스에 저장된 경우 명령줄에서 Git을 사용하여 리포지토리를 가져올 수 있습니다.

시작하기 전에 다음을 알고 있어야 합니다.

  • GitHub 사용자 이름
  • 외부 리포지토리의 복제 URL(예: https://external-host.com/user/repo.git 또는 git://external-host.com/user/repo.git)(external-host.com 도메인 이름 앞에 user@ 포함)

데모를 위해 다음을 사용합니다.

  • 외부 계정(extuser)
  • 외부 Git 호스트(https://external-host.com)
  • GitHub 개인 계정(ghuser)
  • GitHub.com의 repo.git라는 이름의 리포지토리
  1. GitHub에서 새 리포지토리를 만듭니다. 외부 Git 리포지토리를 새 리포지토리로 가져옵니다.

  2. 명령줄에서 외부 복제 URL을 사용하여 외부 리포지토리의 "최소" 복제본을 만듭니다. 이렇게 하면 파일 편집을 위한 작업 디렉터리 없이 데이터의 전체 복사본이 생성되며, 모든 이전 데이터를 새로 내보냅니다.

    $ git clone --bare https://external-host.com/EXTUSER/REPO.git
    # Makes a bare clone of the external repository in a local directory
    
  3. “미러” 옵션을 사용하여 로컬로 복제된 리포지토리를 GitHub에 푸시합니다. 그러면 분기 및 태그와 같은 모든 참조가 가져온 리포지토리에 복사됩니다.

    $ cd REPO.git
    $ git push --mirror https://github.com/USER/REPO.git
    # Pushes the mirror to the new repository on GitHub.com
    
  4. 임시 로컬 리포지토리를 제거합니다.

    cd ..
    rm -rf REPO.git
    

가져오는 리포지토리에 대용량 파일이 포함되어 있으면 경고 또는 오류가 발생할 수 있습니다. 대용량 파일 및 관리 방법에 대한 자세한 내용은 "GitHub의 대용량 파일 정보"을 참조하세요.

추가 참고 자료