본문 바로가기
여러 기록

Github 커밋 유지한 채로 repository 복사하기

by 두 그루 2023. 11. 2.

다른 repo에 저장한 파일을 새로운 repo로 이동하고자 했다. 그래서 클론한 파일을 로컬에서 삭제했다가 휘몰아치는 검색과 보수 작업을 진행했다. 클론한 로컬 파일에서 드래그 앤 드롭으로 파일을 이동한 채로 해당 정보를 push하면, 이동한 repo에서 이동 전 history를 볼 수 없다. 사용자 기준 이동이지만, github은 이동 전 repo에서는 파일 삭제, 이동한 repo에서는 파일 생성으로 인식한다.

 

 

나의 상황 정리: Flutter-studying repo의 파일들을 history를 유지한 채 pomotime repo(새로 만들어 빈 repo)으로 복사하고 싶다.

 

 

1. 터미널에서 다음 명령어를 입력한다. 나의 경우는 가시적으로 확인하고자 cd Desktop 명령어를 먼저 진행한 후에 다음 과정을 진행했다.

$ git clone --mirror [원본 repo 경로]

 

2. clone한 디렉토리로 이동한다. 자신이 위 명령어를 진행한 위치에서 가시적으로 확인할 수 있다.

$ cd [원본 repo 이름].git

 

3. 복사할 원격 repo와 함께 명령어를 입력한다.

$ git remote set-url --push origin [복사할 원격 repo 경로]

 

4. 원격 repo에 이를 push한다. 이 과정에서 본인의 github username, token을 입력해야 한다.

$ git push --mirror

 

github에서 복사한 repo인 pomotime에 들어가보면 이전 history를 모두 지닌 채로 복사된 것을 확인할 수 있다.


참고

https://lxxyeon.tistory.com/99

 

[Git] 저장소 repository 옮기기, 이동

git repository mirroring git 저장소(repository)를 커밋로그 포함, 그대로 옮기는 방법 [Solution] 1. 원본 저장소(A)를 복사(mirroring)한다. $ git clone --mirror [원본 저장소 경로] 2. 클론한 디렉토리 안으로 이동 $

lxxyeon.tistory.com

 

댓글