포트폴리오용 화면 캡쳐를 하던 중 오류를 발견해서 수정하고 싶은데
커밋 푸쉬 풀 머지를 어떻게 해결하지..? 하다가
개인 레퍼지토리로 clone 해와서 수정하는 방법을 알게 되었다.
clone --mirror 하면 커밋내역까지 같이 클론할 수 있었다!
git clone 하는 방법은
- 기존 레퍼지토리의 파일을 로컬 pc로 내려받고 새로운 레퍼지토리에 push하는 법
- 깃 내부에서 새로운 레퍼지토리로 데이터를 옮긴 뒤 로컬pc로 내려받는 법
두 가지 방식을 취할 수 있다.
나는 두번째 방법대로 했다!
1. 신규 레퍼지토리를 생성한다.
- 리드미와 이그노어파일은 체크하지 않고 생성한다.
: 클론 하면서 다 가져올 거기 때문!
2. 해당 명령어를 터미널에 입력한다.
git clone --mirror {기존 레퍼지토리 주소}
cd {기존 레퍼지토리 명}.git
git remote set-url --push origin {신규 레퍼지토리 주소}
git push --mirror
▼ 적용 예시
git clone --mirror https://github.com/hahaha/OldRepo.git
cd OldRepo.git
git remote set-url --push origin https://github.com/aahah/NewRepo.git
git push --mirror
여기까지 하고 새로운 레퍼지토리로 가보면 파일이 옮겨져 있을 것이다. (조금 시간이 걸린다.)
나같은 경우 터미널에는 error: failed to push some refs 가 주르르륵 떴는데,
레퍼지토리에는 파일과 커밋내역, 브런치까지 제대로 옮겨진 것을 확인해서 그냥 넘어갔다.
3. 파일 내려받기
기존 레퍼지토리 파일이 로컬에 있는 사람도 있고 없는 사람도 있을 것이다.
나같은 경우에는 파일도 있고 그 파일이 기존 레퍼지토리와 연결되어 있었다.
3-1. 기존 파일 삭제
삭제를 해도 되고 안해도 된다. 개인 마음.
나같은 경우는 기존 파일을 굳이 남겨놓을 이유가 없어서 그냥 삭제했다.
3-2. 클론
(이클립스 기준)
Window > Show View > Other... > Git Repositories > (우클릭) Clone a Git Repository...
URI : 새로운 레퍼지토리 주소
User : 본인 Git UserName
Password : Git 비밀번호
여기까지 하면 깃 자체는 연결이 되었다.
이제 Project Explorer (이클립스 좌측 프로젝트 파일 창) 에서
우클릭 > Import > Import... > Projects from Git 하면 완성!
참고 자료