본문 바로가기
개발/기타

Git(gitLab) Repository 옮기기(이동)

by 궁즉변 변즉통 통즉구 2022. 4. 18.
반응형

소스 형상관리로 git을 사용할 경우 Repository를 필요에 따라서 다른 곳으로 옮겨야 하는 경우가 있다. 이렇게 Repository를 옮길때 git의 commit이력까지 모두 옮길 수 있는 방법은 아래와 같다.

# 기존 소스 clone 
git clone --mirror [기존 Source 리파지토리 주소]

# 리파지토리 폴더로 이동
cd 리파지토리명 

# 신규 리파지토리 설정(신규 리파지토리는 생성되어 있어야 함)
git remote set-url --push origin [신규 Target 리파지토리 주소]

# Push
git push --mirror

 

git push --mirror을 진행하다가 아래와 같은 "pre-receive hook declined" 오류가 발생해서 push가 안되었다.

> git push --mirror 
! [remote rejected] master -> master (pre-receive hook declined) 
...

 

오류가 발생하는 이유는 신규 Repository의 프로젝트 Branch 권한 문제로  아래와 같이 Settings > Repository에서 Protected Branches 항목을 열고 하단에 [Unprotect]를 클릭해서 설정해주면 된다.

 

 

반응형

댓글