git repository의 일부 디렉토리만 clone 하기 (git sparse checkout) git clone some folders with git sparse checkout
서론
2022년 첫 포스팅
사내의 어떤 프로젝트 구조가 하나의 repository에 해당 프로젝트에 대한 모든 코드를 다 넣어두고 개발 스택별로 폴더를 나누어 구분하는 구조로 되어있어서 프론트 폴더만 clone 하기 위해 사용한 방법을 포스팅하려고 합니다.
(프로젝트 저장소)
ㄴ (프론트 폴더)
ㄴ (백엔드 폴더)
...
본론) git repository의 일부 디렉토리만 clone 하기
clone 받을 폴더를 만들고 git 초기화
mkdir test
cd test
git init
git remote에 clone 받을 repository 추가
git remote add origin [git repository 주소]
# 샘플) 블로그 repository 연결
# git remote add origin https://github.com/infiduk/infiduk.github.io.git
sparse checkout 사용 추가
git config core.sparsecheckout true
clone 할 폴더 지정
echo '폴더 경로/*' >> .git/info/sparse-checkout
# 샘플) 블로그 repository 의 test 폴더만 clone 받겠다.
# echo 'test/*' >> .git/info/sparse-checkout
지정한 폴더의 코드 pull
git pull origin master
remote origin의 지정한 폴더만 pull 된 것 확인
결론
기존에는 프로젝트 - 개발 스택 별로 다 repository 를 따로 나눠서 관리했었는데 이렇게 하면 한 곳에서 모든 코드를 관리할수 있어서 좋은 것 같네요. (개인적인 의견)
짧은 글 봐주셔서 감사합니다. 모두 해피코딩 되세요 :)