본문 바로가기

About my life/Development Studies

[Github] 모든 Commit 내용 다른 repository로 옮기기: history 복제

728x90
반응형

 

 

 

 

연구실에서 했던 개발 과정을 제 repository 로 옮기고 싶었습니다.

그러나 Github 에서 UI로 제공하는 Download Zip은 다운받는 데도 시간이 너무 오래걸리며 history가 모두 다운로드 되는 지 불분명했습니다. 

따라서 이 글에서는 개발 단계에서 했던 모든 history를 다른 repository로 복제할 수 있는 방법을 설명드릴게요.

 

 

 

 


 

 

 

반응형

 

기본적으로 저는 SSH 공개키를 이용하여 복제하였음을 알려드립니다.

 

 

 


 

 

 

OVERVIEW

# 임의의 폴더 생성
mkdir tem_file

# 폴더로 이동
cd tem_file

# 복제하고 싶은 History 불러오기
git clone --bare https://github.com/example/repo.git

# .git 폴더로 이동
cd repo.git

# 붙여넣고 싶은 주소에 복제하기
git clone --bare https://github.com/example/repo.git

 

 

 

 


 

 

 

Step 1

복제할 history clone 해오기:

 

git clone --bare 복사_하고싶은_repository_주소

 

일반적으로 Git repository 는 작업 directory 와 함께 있는데, 작업 directory에는 실제 파일들이 존재하고, '.git' 디렉토리에는 Git의 메타데이터와 객체들이 저장됩니다. 따라서 --bare 을 사용하면 작업 디렉토리를 가지지 않고 오직 Git의 메타데이터와 객체만을 갖는 repository가 생성됩니다.

 

 

 

 


 

 

 

 

Step 2

SSH 키를 이용하여 복제할 history clone 해오기:

 

git clone --mirror 붙여넣기_하고싶은_repository_주소

 

--mirror 옵션은 repository를 완전한 미러로 복제할 때 사용합니다. 원본 repository 의 모든 브렌치, 태그, 커밋 히스토리 등을 복사합니다. 이것은 보통 백업이나 서버 간 동기화와 같은 상황에 유용합니다.

 

 

 

 

 

 


Reference

git help clone

 

git-clone.html
0.05MB

 

 

 


 

728x90
반응형