ect

git | 레파지토리 복사하기

개발 공부 2023. 4. 15. 01:43

참고 : https://velog.io/@hoo00nn/Git-Repository-%EB%B3%B5%EC%82%AC%ED%95%98%EA%B8%B0

 

최종 프로젝트를 마치고 나의 포트폴리오로 사용하기 위해 다른 사람의 레파지토리를 나의 레파지토리로 가져와야 했다.

1. mirror 나 bare 옵션을 이용한 clone

처음에 mirror로 했다가 5번 push 할 때 에러가 나서

에러메세지 : 아래와 같은 에러가 여러개 떴다.

 ! [remote rejected] refs/pull/1/head -> refs/pull/1/head (deny updating a hidden ref)

 

참고 : https://iamcho2.github.io/2021/04/24/git-mirroring

위에 분도 저랑 같은 에러가 났는데 bare을 사용하여 해결했다고 하여

참고 : https://pinocc.tistory.com/138

git clone 의 두가지 옵션 bare 와 mirror의 차이를 알아보았다.

 

git clone 의 두가지 옵션 --bare / --mirror 의 차이점

git clone 옵션중 --mirror / --bare 가 있는데, 둘간의 차이점이 무엇인지 알아보자. 우선 git clone 의 도움말을 보면 다음과 같다. --bare GIT repository 를 bare 로 만든다. 즉 를 생성하고 /.git 을 생성하는 대

pinocc.tistory.com

- mirror 사용

git clone --mirror { git repository 주소 }

// 만약 특정 브랜치만 가져온다면
git clone -b { 브랜치명 } --single-branch --mirror { git repository 주소 }

- bare 사용

git clone --bare { git repository 주소 }

 

2. repository명.git 을 .git으로 이름 변경

// clone을 정상적으로 완료했다면 repository명.git 파일이 생성되어 있을 것이다

// 아래의 명령어를 통해 이름을 .git으로 변경
mv repository명.git .git 

3. 디렉토리 .git으로 변경

cd .git

4. 새로운 repository와 연결

// .git으로 변경한 디렉토리에서 아래 명령을 실행
git remote set-url origin { 새로운 repository 주소 }

5. 새 repository에 push

1번에서 bare를 사용했더라도 mirror 명령어를 넣어 푸시한다.

// .git으로 변경한 디렉토리에서 아래 명령을 실행
// 아래의 명령을 실행하게 되면 새로운 repository로 push 된다.
git push --mirror

깃에 해당 repo로 들어가보면 파일들이 잘 클론된 것을 볼 수 있다.

 

6. 로컬에서 파일을 사용하고 싶으면

프로젝트 디렉토리로 이동해서 

git clone 내레파지토리주소