[개요]
GitLab에서 현재까지 원격 저장소에 연결해 사용중이던 프로젝트를
같은 GitLab의 다른 원격 저장소로 그대로 옮기고 싶다.
커밋메세지까지 그대로 옮길 수 있는 방법이 있다고 한다.
[실행]
아래 명령어를 따라 입력한다.
cd 작업할위치로이동
git clone --mirror 기존원격레포주소
cd 기존원격레포이름.git
git remote set-url --push origin 새원격레포주소
git push --mirror
**레포=레파지토리
git clone --mirror 까지 하면 작업중인 위치에 기존원격레포이름.git 이라는 폴더가 생긴다.
해당 폴더 위치로 이동해 remote명령어를 실행하라는 뜻이다.
기존 원격 레포 이름은
작업중인 폴더에 들어가서 위에 언급한 새로 생긴 폴더명을 확인해도 되고,
기존 원격 레포 주소에서도 찾을 수 있다.
주소의 마지막부분이다.
새 레파지토리의 계정정보가 기존에 쓰던 것과 다를 경우 계정정보를 새로 입력해야 할 수도 있다(난 입력 안하고 됐음).
[결과]
push까지 한 후 gitlab 새 레포로 들어가보면 커밋내용들까지 잘 복사되어있다.
참고로 기존 레포가 사라지는 것이 아니므로 저장소 이동보다 복사하는 방법이라고 불러야 맞는 것 같다.
★그리고 이 과정에서 생긴 기존원격레포이름.git 이라는 파일은 프로젝트 파일(로컬 저장소로 사용하는)이 아니다.
프로젝트를 옮기는 과정에서만 사용되는 파일인 듯 하다. 작업했던 코드들이 들어있지 않다.
아래처럼 원하는 위치에서 새 원격 레포를 클론받은 후 그 곳에서 이어서 작업하면 된다.
cd 원하는위치
git clone 새레포주소
git checkout 브랜치명 //작업하기 원하는 브랜치로 이동
//아무 변경사항이나 만듦
git add .
git commit -m "커밋메세지"
git push origin 작업중인브랜치명
원 레포인 gitlab에서 작업 내용이 바뀔때마다 미러링한 github에도 그대로 적용시키는 미러링 방법도 있다.
현재까지의 커밋기록이 모두 옮겨지는 것 뿐만 아니라
예전 레파지토리에서 새로 생기는 커밋 내용들도 그대로 새 레파지토리에 반영되도록 만들고 싶다면
https://day0404.tistory.com/37
추가로 위 글의 설정을 따라한다.
'Git' 카테고리의 다른 글
[GitHub] personal access token 깃허브 토큰 발급 방법 (0) | 2021.09.13 |
---|---|
[Git] 토큰 로그인 방법 모음 : support for password authentication was removed on august 13, 2021. please use a personal access token instead. (0) | 2021.08.15 |
<ERROR> Git push 시 remote저장소 에러 fatal error in commit_refs (0) | 2021.08.11 |
[Git] 리모트 저장소 remote url 주소 확인, 변경 명령어 (0) | 2021.08.11 |
[Git] 현재 계정 정보 확인 및 설정 (터미널에서) (0) | 2021.07.14 |