git 특정(일부) 리포지토리만 클론하기
방법
원격지 저장소 내 소스파일들 중 특정한 스크립트 디렉토리 (tools)만 클론하고 싶어 진행해보았다.
디렉토리를 생성한다
클론을 받을 디렉토리를 생성
1
mkdir ~/gitscript
내부에서 init 한다
1
2
cd ~/gitscript
git init
remote 를 추가한다
1
2
git remote add <repo url>
git remote add git@gitlab.test.com:group/project.git
sparse checkout 을 활성화한다
1
git config --local core.sparsecheckout true
clone할 폴더를 지정한다
나는 스크립트 디렉토리인 tools만 가져오고 싶어 tools/*
로 지정하였다.
1
echo "tools/*" >> .git/info/sparse-checkout
원격지에서 pull한다
1
git pull origin master
결과
tools만 가져와졌다.
1
2
3
4
5
total 16K
drwxr-xr-x 4 root root 4.0K Nov 21 08:47 ./
drwxr-xr-x 27 root root 4.0K Nov 21 08:46 ../
drwxr-xr-x 8 root root 4.0K Nov 21 08:55 .git/
drwxr-xr-x 3 root root 4.0K Nov 21 08:47 tools/
명령어 정리
1
2
3
4
5
6
7
mkdir ~/gitscript
cd ~/gitscript
git init
git remotea add <repo url>
git config --local core.sparsecheckout true
echo "tools/*" >> .git/info/sparse-checkout
git pull origin master
This post is licensed under CC BY 4.0 by the author.