-
git 일부 디렉토리만 clone 받기 (sparse checkout)ETC 2016. 10. 14. 20:18
svn의 경우 checkout 시에 세부 디렉토리를 바로 지정 가능하기 때문에
이 작업이 쉬우나 git의 경우 몇가지 작업이 필요하다.
(영어로는 sparse checkout이라 한다.)
1. (특정 디렉토리만 받게될) 디렉토리 초기화
mkdir <repo> cd <repo> git init git remote add -f origin <url>
위 명령을 차례대로 실행하면 빈 디렉토리를 생성하고
모든 오브젝트를 가져오지만 실제로 모든 파일을 checkout 하지는 않는다.
2. 설정 변경
git config core.sparseCheckout true
부분 체크아웃 설정을 true로 설정해준다.
3. 디렉토리 추가
echo "some/dir/" >> .git/info/sparse-checkout
체크아웃 받을 세부 디렉토리를 설정에 추가한다.
(이 디렉토리가 여러개라면 위 명령으로 한번더 추가 디렉토리를 지정해 주면된다.)
4. 원격 저장소 설정
git branch --set-upstream-to=origin/master master
브랜치의 업스트림을 설정해준다.
(pull 할때 매번 git pull origin master 를 입력하지 않기 위해서.)
5. (특정 디렉토리 이하의) 내용 받기
git pull
(지정한 일부 디렉토리의) 파일을 모두 받는다.
'ETC' 카테고리의 다른 글
mysqldump 파일에서 definer 모두 제거하기 (0) 2017.05.12 리눅스 pkill과 동일한 리눅스 명령 (0) 2016.11.14 Android 인앱 결제 PHP 영수증 체크 (2016년 8월 기준) (1) 2016.08.31 IOS 인앱 결제 PHP 영수증 체크 (2016년 8월 기준) (6) 2016.08.31 구글 플러스 초간단 access token 체크 방법 (0) 2016.01.12