[TIL] Git 저장소 옮기기 - 백업용

ssook·2022년 9월 1일
0

TIL

목록 보기
3/17
post-thumbnail

원래 진행하고 있던 사이드 프로젝트는 깃허브가 기반이었다.
하지만, 재정적 지원 및 멘토님의 도움을 받고자 한이음에 참여한 이후로는 깃허브와 깃랩 두 개 다 관리를 할 수 밖에 없었다🥲 (한이음은 깃랩을 사용하기 때문...)

알다시피 깃허브와 깃랩을 둘 다 왔다갔다 하며 변경내역이 생겼을 때마다 두 개 동시에 커밋을 올리는 건 굉장히 비효율적이다!
그래서 이것저것 알아보다가 미러링 기능을 통해 한 번에 이를 해결할 수 있는 것, 그리고 미러링에 여러 종류가 있다는 것을 알았다.


🌱 미러링이란?

외부 저장소를 미러링하여 소스코드, 분기, 태그 및 커밋은 자동으로 동기화할 수 있다.
미러링 세팅 시에 소스로 사용할 리포지토리를 선택할 수 있다.


🌟 미러링의 종류

  • push : Gitlab → Github - 깃랩에서 깃허브로 커밋 내역 이동
  • pull : Github → Gitlab - 깃허브에서 깃랩으로 커밋 내역 이동
  • Bidirectional : 양방향으로 할 수 있지만, 충돌이 발생할 수 있음.

출처 : 미러링의 종류


우리 팀은 깃허브가 메인이었기에, pull 미러링 방식을 사용하여 깃허브에서 깃랩으로 자동으로 커밋 내역을 이동시키려고 했다.
그런데...

나에겐... 당연히도 깃랩 관리자 권한이 없었다. 팀장에게는 Owner 권한이 있는 듯 했으나 나는 Maintainer였기에 다른 방법을 사용해야 되었다.
그래서 프로젝트가 진행되는 9월말까진 자주 이 방법을 사용할 거 같으니 백업용으로 명령어들을 작성해둔다...😇


git clone --mirror {github repository 주소}
cd {클론한 repository가 있는 경로}
git remote set-url --push origin {gitlab repository 주소}

찾아보니 깃허브 액션을 사용해서도 할 수 있다고는 하지만,
가장 쉬운 방법은 Owner 권한이 있는 팀장님 계정으로 풀 미러링이 되게끔 수정하는 것인 거 같으니 한 번 이야기 해봐야겠다ㅋㅋㅋㅋㅋ

profile
개발자에서, IT Business 담당자로. BrSE 업무를 수행하고 있습니다.

0개의 댓글

관련 채용 정보