sparse checkout
- git sparse checkout 기능은 Git 2.25.0 버전 이상부터 사용 가능
git sparse checkout을 설정하면 내가 원하는 디렉토리 및 파일들만 Working Directory로 가져와서 로컬 PC에 보이도록 할 수 있다.
사용 방법
a. 루트에 있는 main.py 파일만 가져올 경우
$ git sparse-checkout set /main.py
b. src/crawl.py 파일만 가져올 경우
$ git sparse-checkout set /src/crawl.py
c. src 디렉토리와 하위 전체 내용 가져올 경우
$ git sparse-checkout set /src/
d. 루트에 있는 main.py 파일과 src 디렉토리 전체를 가져올 경우
$ git sparse-checkout set /main.py /src/
예제
위 내용을 기반으로 쿠버네티스 모니터링 프로젝트에서 prometheus-2.44.0 과 loki-stack-2.6.1만 로컬 Working Directory로 가져오기 위해 아래처럼 설정을 해보자
0. monitoring 프로젝트 생성
$ git init ./monitoring
$ cd ./monitoring
$ git config --global init.defaultBranch main
1. 프로젝트 원격지 주소 설정
# 프로젝트 원격 주소 설정
$ git remote add -f origin https://github.com/k8s-1pro/install.git
2. sparse-checkout 설정
$ git config core.sparseCheckout true
3. ground/k8s-1.27/prometheus-2.44.0 파일만 가져올 수 있도록 .git/info/sparse-checkout 파일에 아래 내용 추가
$ echo "ground/k8s-1.27/prometheus-2.44.0" | tee .git/info/sparse-checkout
$ echo "ground/k8s-1.27/loki-stack-2.6.1" | tee -a .git/info/sparse-checkout
4. 프로젝트 가져오기
$ git pull origin main
5. 디렉토리 확인하기
$ tree -L 3 .
.
`-- ground
`-- k8s-1.27
|-- loki-stack-2.6.1
`-- prometheus-2.44.0