본문 바로가기
개발(코딩) 경험 저장소/서버,유틸 설치 및 관리

Git 저장소 백업 및 이전

by 주니우스 2021. 1. 20.
반응형

나는 Git 원격저장소를 시놀로지에서 운영하고 있고 새로운 시놀로지로 옮기려고 한다.

하지만 이과정은 시놀로지든 리눅스든 윈도우든 상관없이 백업 및 이전할때 사용할수 있다.

 

간략하게 정리하면 아래와같다.

 

1.  git clone --mirror [현재 Git주소]

2.  cd [이름].git

3.  git remote set-url  [이전할 Git주소]

4.  git push --mirror

 

 

위의 절차를 수행해야하는데 

우선 자신의 PC에 백업 받을 디렉토리를 생성한다.

그리고 git 터미널을 열어 백업 받을 디렉토리로 이동한다.

 

 

이전 하려는 git 저장소의 내용을 clone 한다.

git clone --mirror [현재 Git주소]

 

내가 테스트용으로 만든 Git 프로젝트 기준으로는 아래와 같다.

git clone --mirror http://192.168.0.200:13000/1.repo.crcpd/crcpd.git1.repo.crcpd/crcpd.git

 

 

그러면 환경에 따라 조금 다를수는 있지만 Git 저장소의 Username 과 Password를 입력하면

아래와 같이 로컬에 해당 프로젝트의 clone 이 다운로드 된다.

 

해당 clone 한 디렉토리로 들어간다.

 

이상태에서 git remote -v 명령을 실행하면 현재 저장소 정보를 볼수있다.

(이전하려는 clone 받은 주소로 되어있다.)

이제

git remote set-url --push origin [이전할 Git 주소]

를 수행해서 push 할 Git 주소를 적어주면 되는데 이 push를 하기전에 이전할 Git 에

이름이 같은 빈 저장소를 생성해놔야 한다.

나는 Git 을 웹으로 관리하기 위한 Gogs 를 이용해 빈 저장소를 생성해 놓는다. 

(이건 각자 자신들이 원하는 방법으로 하면 된다. 터미널을 이용하거나 다른 유틸을 이용하거나~)

이렇게 생성한 저장소의 Git 주소를 확인하고 터미널에서 실행한다.

git remote set-url --push origin http://192.168.0.230:XX000/xxxxxxxx/crcpd.git

실행하고 난 다음 git remote -v 로 확인해 보면

push 경로가 이전할 저장소 주소로 바뀐걸 확인할수 있다.

이단계가 실제 이전이 된 상태는 아니다. 이전할수 있게 주소만 설정한것 뿐이고

실제 이전은

git push --mirror

명령을 실행해야한다.

실행하면 계정인증을 거친후 아래와 같이 업로드 되며 저장소 이전이 끝난다.

 

이전 뿐만 아니라 가끔 Git 로컬 PC에 백업 할때도 사용한다.

몇년 전에 Git 저장소가 날라가서 곤란한 적이 있었는데

그후론 다른 백업 서버에 Git + Gogs 를 설치해서 Gogs 에 미러 기능을 이용해서

1시간 간격으로 미러링 하고 또 주기적으로 위의 방식을 이용 로컬 PC에 Git을 받아놓는다.

 

이것보다 더 쉽고 간단한 방법이 있을지도 모르겠지만

지금까지 내가 알아본 방법으로는 이게 제일 간단했던것 같다.

끝~! 

반응형

댓글