본문 바로가기

Programming/Etc

[Git] Git Repository 일부(하위) 폴더만 clone하기 (예제 포함)

728x90
반응형

Git에 올라와있는 파일들 중 일부 파일만 clone하고 싶은 경우가 종종 있다.

물론 파일 개수가 적고 간단한 레파지토리의 경우에는 전체를 다 다운받아도 상관없으나 사이즈가 큰 레파지토리는 전체 클론을 하는 데에 시간도 많이 걸리고 귀찮을 뿐...!

 

 

 

1. 먼저, 클론할 파일을 저장할 폴더를 생성 후 해당 폴더로 이동한다.

 

mkdir <폴더명>
cd <폴더명

 

2. 해당 폴더의 git 정보 초기화

 

git init

 

 

3. git sparse checkout 기능 활성화 (일부만 checkout 할 수 있도록 해주는 기능)

 

git config core.sparsecheckout true

 

 

4. clone하고자 하는 원격 저장소 URL 지정

 

git remote add -f origin <REMOTE_URL>

 

예를 들어 (https://github.com/nyongja/BOJ) 해당 레파지토리를 가져오고 싶다면

 

 

git remote add -f origin git@github.com:nyongja/BOJ.git

 

이렇게 해주시면 됩니다..! 다들 아시겠지만..^^..

 

 

5. clone 하고 싶은 폴더 설정 (폴더 경로에 "" 붙이면 안됨)

 

echo 폴더경로 >> .git/info/sparse-checkout

 

만약 위 예시의 레파지토리에서 백트래킹 폴더에 있는 코드만 가져오고 싶다면!

 

echo back_tracking/ >> .git/info/sparse-checkout

 

 

6. pull 하기

 

git pull origin master

 

 

이렇게하면 원하는 폴더만 싹 가지고 오실 수 있답니다 😄

728x90
반응형