Akashic Records

Git Repository을 다른 원격지에 복사하기 본문

Git

Git Repository을 다른 원격지에 복사하기

Andrew's Akashic Records 2023. 4. 17. 23:19
728x90

원격지에 있는 Git 저장소를 다른 원격지로 복사하려면, 다음 단계를 따라 주세요.

1. 기존 원격 저장소를 로컬로 클론(Clone) 합니다.

git clone --mirror <기존 원격 저장소 주소>

이 명령어는 기존 원격 저장소의 모든 브랜치와 태그를 포함한 모든 데이터를 로컬에 클론합니다.

2. 새 원격 저장소를 생성합니다.
GitHub, GitLab, Bitbucket 등의 원격 저장소 호스트를 사용하여 새로운 원격 저장소를 생성하세요.

3. 로컬 클론된 저장소의 원격 설정을 새 저장소로 변경합니다.

cd <클론된 로컬 저장소 폴더>
git remote set-url --push origin <새 원격 저장소 주소>

4. 로컬 저장소의 모든 데이터를 새 원격 저장소로 푸시(Push) 합니다.

git push --mirror

이제 새 원격 저장소에 기존 원격 저장소의 모든 데이터가 복사되었습니다. 이후 필요한 경우, 로컬 저장소와 새 원격 저장소를 정상적으로 사용할 수 있습니다.

 

Protected Branch 오류

remote: GitLab: You are not allowed to force push code to a protected branch on this project.

이 오류 메시지는 GitLab에서 일부 브랜치가 보호되어 있어 강제 푸시가 허용되지 않을 때 발생합니다. 일반적으로 이러한 보호 기능은 실수로 중요한 브랜치를 덮어쓰거나 삭제하는 것을 방지하기 위해 사용됩니다. 보호된 브랜치의 설정을 변경하려면 다음 단계를 따르세요.

1. GitLab 프로젝트의 설정으로 이동합니다.

2. 웹 브라우저에서 GitLab 프로젝트 페이지로 이동한 다음, 왼쪽 메뉴에서 "Settings" (설정)을 선택합니다.

 

3. "Repository" (저장소)를 선택하여 저장소 설정으로 이동합니다.

 

4. 보호된 브랜치 설정을 찾습니다.
 "Protected Branches" (보호된 브랜치) 섹션을 찾아 접근합니다.

 

5. 보호된 브랜치에서 강제 푸시를 허용하도록 설정을 변경합니다.
푸시를 허용하려는 브랜치의 설정을 찾아 "Unprotect" (보호 해제)를 클릭합니다. 이렇게 하면 해당 브랜치의 보호 설정이 해제됩니다.
만약 필요한 경우, "Protect" (보호) 버튼을 클릭하고 원하는 설정을 적용한 다음 "Protect" (보호) 버튼을 다시 클릭하여 브랜치를 다시 보호할 수 있습니다.

 

참고로 이 작업은 프로젝트 관리자 권한이 필요합니다. 프로젝트 관리자가 아닌 경우, 관리자에게 이 설정을 변경해 달라고 요청해야 합니다.

보호 설정이 변경된 후 다시 git push --mirror를 실행하면 문제가 해결되어야 합니다.

728x90

'Git' 카테고리의 다른 글

Git rebase, reset, revert  (0) 2023.04.19
Git 기타 도구 및 자원  (0) 2023.03.25
Git 고급 기능  (0) 2023.03.25
Git 충돌 해결  (0) 2023.03.25
Git 브랜치 전략(Git Flow)  (0) 2023.03.25
Comments