728x90
레포 기록(commit , push 기록)을 유지하면서 다른 레포로 내용을 옮기거나, 두개의 레포지토리를 한 개로 합치고 싶은 경우가 있다.
그냥 코드를 합치면 될 꺼 같지만 그러면 레포를 작성했던 기록들이 날아가게 되는데 이 기록들을 유지하면서 레포를 옮기는 방법에 대해 소개하겠다.
내가 옮기고 싶은 레포 => A
내가 옮길 레포 (최종적으로 합쳐질 레포) => B
라고 하자.
우선 A의 커밋 기록들을 mirror 옵션을 통해서 가져와야 한다.
A의 주소의 HTTPS 주소를 위처럼 복사해주자.
git clone --mirror {a의 https주소}
위와 같이 mirror옵션을 활용해서 A의 레포를 복사해온다.
--mirror 옵션을 활용하면 저장소의 소스뿐 아니라 커밋 히스토리까지 가져올 수 있기때문에 꼭 붙여주자
.git 으로 끝나는 폴더에 들어가자.
cd {clone한 깃 폴더}
이제 아래 명령어를 통해서 push할 저장소를 B로 바꿔주자! (이번에는 B의 HTTPS 주소가 필요하다)
git remote set-url --push origin {B의 HTTPS URL}
마지막으로 push를 mirror 옵션을 넣고 하면 깃의 히스토리들이 몽땅 B 저장소로 넘어가게 된다.
git push --mirror
만약 두개의 레포지토리를 합치고 싶다면 (C라고 가정)
A -> B 로 복사한 과정을 그대로 C->B로 진행하면 된다!
728x90
'FrontEnd > 웹 지식' 카테고리의 다른 글
gitHub OAuth 로그인 구현 (0) | 2022.09.30 |
---|---|
리액트 build파일 경로 설정 (0) | 2022.09.26 |
쿠키 (0) | 2022.09.20 |
HTTP란? (0) | 2022.09.20 |
Unix와 Windows 파일 시스템 (0) | 2022.08.30 |