본문 바로가기

Engineering

Github Private Repo로 Fork하기

때때로 깃허브에 있는 레포지토리를 포크해서 사용하고 싶을 때가 있다. 하지만 깃허브에서 포크를 하게되면 공개 레포지토리로 만들어지고 비공개로 돌릴 수도 없어 비공개로 개발하고 싶을 때 불편한 점이 있다. 이를 우회해 비공개 레포지토리로 포크하는 방법이 잘 알려져 있고 이를 간략하게 정리하고자 한다.

출처: https://gist.github.com/0xjac/85097472043b697ab57ba1b1c7530274

 

Create a private fork of a public repository

Create a private fork of a public repository. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

먼저, 포크하고자 하는 레포지토리를 bare clone한다. (bare clone이 정확히 뭔지는 모르겠지만, 레포지토리의 깃 세팅만 받는 것을 말하는 것 같다.)

git clone --bare git@github.com:usi-systems/easytrace.git

그리고 깃허브에 비공개 레포지토리를 만들고 그곳에 mirror-push라는 것을 하면 비공개 레포로 클론하는 것이 가능해진다.

cd easytrace.git
git push --mirror git@github.com:<your_username>/easytrace.git

포크를 위해 bare clone을 받았던 디렉토리는 지워도 된다.

cd ..
rm -rf easytrace.git

나중에 포크한 레포지토리를 위해서 원 레포지토리를 리모트로 등록해두기도 하는데 아직 난 그정도까진 가지 않았다. 필요하다면 원 출처에서 확인하면 된다.