728x90
mirror를 사용하여 옮기기
Git mirror는 일반적으로 기존 저장소의 완전한 복제본을 만드는 것을 의미합니다. 이는 모든 커밋, 브랜치, 태그 및 기타 저장소의 역사를 포함합니다. Mirror를 만드는 주요 이유 중 하나는 보통 다른 서버나 호스팅 서비스로 저장소를 이전할 때입니다.
일반적으로 Git mirror를 만드는 방법은 다음과 같습니다:
- 원본 저장소 복제: 먼저 원본 저장소를 복제합니다. 이를 위해 보통 git clone --mirror 명령을 사용합니다. 이 명령은 저장소의 모든 내용을 복제하고 원격 저장소의 모든 브랜치와 태그를 로컬에 복사합니다.
- 새로운 위치에 복제: 복제된 저장소를 새로운 위치에 저장합니다. 일반적으로 이 단계에서는 원격 서버나 다른 호스팅 서비스에 새로운 저장소를 만들거나, 로컬 머신의 다른 디렉토리에 저장합니다.
- 새로운 위치로 푸시: 새로운 위치에 저장된 mirror 저장소를 새로운 원격 저장소로 설정하고, 원격 저장소로 푸시합니다. 이를 통해 새로운 저장소로 전체 이력과 브랜치가 이전됩니다.
Mirror를 사용하여 저장소를 이전하면 모든 커밋 및 이력이 보존되므로, 새로운 위치에서도 이전 저장소와 동일한 내용 및 히스토리를 유지할 수 있습니다.
우선 test라는 저장소가 있다고 가정하겠다.
1. mirror를 만든다.
- 그러면 test에 test.git폴더가 생성된다.
git clone --mirror <원본 저장소 URL>
//ex) git clone --mirror https://github.com/test.git
2. 만들어진 test.git 폴더로 이동한다.
cd <폴더.git>
//ex) cd test.git
3. 이동한 다음, push 원격 주소를 이동할 저장소의 주소로 변경한다.
git remote set-url --push origin <이동할저장소URL>
//ex) git remote set-url --push origin http://xxxxxxxx:3000/test.git
- git remote -v를 통해 폴더를 확인해보면
- 결과를 보면, push 원격 주소가 이동할 저장소(test)로 지정되어 있다.
- 이렇게 root와 .git의 remote 상태가 다르면,
필요에 따라 커밋을 기존 저장소 혹은 통합 저장소에 푸시할 수도 있다.
$ git remote -v
origin https://github.com/xxxxxx/test.git (fetch)
origin http://xxxxxxxx:3000/test.git (push)
4. 마지막으로 push 명령어로 변경할 저장소에 이동시킨다.
$ git push --mirror
728x90
'형상관리 > Git' 카테고리의 다른 글
[Git] 깃 데스크탑(GitDaskTop) 사용방법 (0) | 2023.10.27 |
---|---|
[Git] Git 원리 및 명령어 정리 중... (2) | 2023.03.13 |