[GIT] 레포기록을 유지한 채 다른 레포로 옮기기
FrontEnd/웹 지식

[GIT] 레포기록을 유지한 채 다른 레포로 옮기기

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