[Git] git 복제 --mirror
git --mirror 라는 옵션을 주어 현재 레포지토리를 다른 레포지토리로 복제할 수 있다.
복제될 때 사용된 브랜치까지 전부 복제가 된다.
# 클론할 레포지토리 디렉토리로 이동
cd 클론할레포지토리
# 레포지토리 클론
git clone --mirror 클론할레포지토리주소
# 위 명령어를 실행하면 현재의 디렉토리 안에 레포지토리명.git 파일이 생성되는데
# 이 파일로 들어간다.
cd 기존원격레포이름.git
# git 파일 안에서 옮길 레포지토리 주소를 입력한다.
git remote set-url --push origin 이동할레포지토리주소
# PUSH
git push --mirror
# 생성된 .git 파일이 이제 필요가 없으므로 삭제
rm -rf 클론할레포지토리.git
❗ 복제 과정에서 마주할 수 있는 에러
1️⃣ fatal: Authentication failed for 'https://github.com/(GitHub-ID)/(구repository-name)/'
git clone을 할 때, github의 ID / Password를 입력하게 되는데 2021년 8월 이후로는 ID / Password 아닌 일정기간 유효한 token을 통해 인증받는 방식으로 변경되었기 때문에 발생하는 에러라고 볼 수 있다.
github 에서 token을 발급받고 패스워드를 입력할 때 발급 받은 토큰으로 입력하면 해결된다.
git config --global user.name 아이디
git config --global user.password 복사한토큰
2️⃣ refusing to delete the current branch: refs/heads/main
Git Error "fatal: invalid branch name: init.defaultBranch ="
git remote에서 발생할 수 있는 에러
기존 원격주소와 새 원격주소의 default branch 가 다를 때 발생한다.
나의 경우 기존 레포지토리의 default branch 가 master, 새로 생성한 레포지토리의 default branch 는 main 이였다.
그래서 해당 이슈가 발생..
해결 방법은 어느쪽이든 한 곳을 수정하여 서로의 default 브랜치 명을 맞춰주면 된다.
'개발노트 > Git' 카테고리의 다른 글
[Git] merge 취소 (0) | 2023.01.31 |
---|---|
[Git] 캐시 날리기 (0) | 2021.08.26 |
[Git] ignore - springBoot application.properties (0) | 2021.08.09 |