Git

[Git] 커밋 이력 포함 레포지토리 가져오기

Chef.Yeon 2023. 3. 3. 04:56

팀프로젝트를 진행할 때 다른 팀원이 레포지토리를 생성하고, 저는 Contributor로 참여했습니다.

팀프로젝트가 모두 끝난 뒤, 해당 프로젝트 레포지토리(원본)를 제 레포지토리로 가져올 수 있으면 좋겠다고 생각했고, 단순히 프로젝트만 가져오는 것이 아니라 커밋 이력을 포함해야 했습니다.

 

다음과 같은 방법을 사용하면 커밋 이력을 포함하여 제 레포지토리로 그대로 가져올 수 있습니다.

728x90

1. 준비

원본 레포지토리를 가져오기 위해 임시로 폴더를 생성해줍니다.

저는 repo라는 폴더명으로 바탕화면에 폴더를 생성했습니다.

 

그리고 레포지토리를 새로 하나 생성해주세요. 

 

git bash를 켜고 해당 폴더로 이동해줍니다.

cd 명령어 또는 폴더 우클릭 > git bash here를 사용해주시면 됩니다.

폴더로 이동

2. clone 

clone을 하기 위해서는 원본 레포지토리의 주소가 필요합니다.

원본 레포지토리에 <> Code를 눌러 HTTPS 주소를 복사해주세요.

 

이제 git bash에서 다음 명령어를 입력합니다. 붙여넣기는 Shift+ Insert 를 사용하시면 됩니다.

--mirror 옵션을 통해 커밋 이력을 그대로 가져올 수 있습니다.

git clone --mirror 원본레포주소

 

3. remote 주소 변경

clone이 완료되면 폴더에 원본레포이름.git 이라는 폴더가 생성됩니다.

이전에 생성해둔 내 레포지토리의 주소를 복사한 후, git bash에서 원본레포이름.git 폴더로 이동해주세요.

 

git remote -v 명령어를 사용하면 내 레포지토리로 연결된 것을 확인하실 수 있습니다.

git remote set-url origin 내레포주소
git remote -v

4. push

마지막으로 push를 해주시면 됩니다.

git push

레포지토리에 들어가면 커밋 이력 그대로 레포지토리를 가져온 것을 볼 수 있습니다.

 

728x90