나는 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을 받아놓는다.
이것보다 더 쉽고 간단한 방법이 있을지도 모르겠지만
지금까지 내가 알아본 방법으로는 이게 제일 간단했던것 같다.
끝~!
'개발(코딩) 경험 저장소 > 서버,유틸 설치 및 관리' 카테고리의 다른 글
git 명령 (0) | 2021.04.07 |
---|---|
VSC 에서 사용할만한 익스텐션 (0) | 2021.04.07 |
Centos 8의 종료 (0) | 2021.04.06 |
[editer] VSCode 기본 제공되는 HTML 코드 변경하기 (0) | 2021.03.14 |
systemctl 서비스 자동실행 등록 (Restart 옵션) (0) | 2021.03.01 |
댓글