Git repo간 미러링 방법

한지승
HASHBOX
Published in
2 min readMar 8, 2019
Photo by Pankaj Patel on Unsplash

기존에 사용하고 있던 Repo에서 다른 Repo로 커밋히스토리 그대로 복사가 필요할 때가 있습니다. 저와 같은 경우엔 Private Repo를 무료로 지원해주는 Gitlab을 사용했습니다.

하지만, Github에서 학생들에게는 무료로 Private Repo를 지원해주는 것을 알게 되면서 Github를 사용하기 시작했습니다.

그러면서 기존의 사용하던 Repo를 그대로 가져와야 할 필요가 있었고 역시나 해결방법은 존재했습니다.여기서 repo를 그대로 가져온다는 의믄 단지 파일을 새롭게 만드는 것이 아니라 repo에서 이용하던 commit 이력 모두를 그대로 이전하는 의미를 말합니다.

대부분의 대규모 프로젝트는 Gerrit을 이용하거나 다른 시스템을 이용할 경우 Github Repo밑에 Mirror라는 링크가 달려 있는걸 볼수 있었습니다. 이는 Git의 Mirror라는 기능을 이용한 것인데요. 사용법이 정말로 간단합니다.

해결방법

$ git push –mirror https://github.com/<User_Name>/<Repo_Name>.git

이와 같이 --mirror 옵션을 지정해주면 저장소 통채로 옮길 수 있습니다. 나아가 hook을 이용한다면 두개의 Repo를 동시에 반영하여 운영할 수도 있습니다.

--

--

한지승
HASHBOX
Editor for

딥러닝 분야에 모험가 — Machine Learning Engineer @ Clova, Naver Corp. — CV (https://hashbox.github.io)