JHH9232 Blog

git 특정(일부) 리포지토리만 클론하기


|

방법

원격지 저장소 내 소스파일들 중 특정한 스크립트 디렉토리 (tools)만 클론하고 싶어 진행해보았다.

디렉토리를 생성한다

클론을 받을 디렉토리를 생성

mkdir ~/gitscript

내부에서 init 한다

cd ~/gitscript
git init

remote 를 추가한다

git remote add <repo url>
git remote add git@gitlab.test.com:group/project.git

sparse checkout 을 활성화한다

git config --local core.sparsecheckout true

clone할 폴더를 지정한다

나는 스크립트 디렉토리인 tools만 가져오고 싶어 tools/*로 지정하였다.

echo "tools/*" >> .git/info/sparse-checkout

원격지에서 pull한다

git pull origin master

결과

tools만 가져와졌다.

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/

명령어 정리

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

Comments