말하는 컴공감자의 텃밭

Git 하위 폴더만 가져오기 - sparseCheckout 본문

Tool/git

Git 하위 폴더만 가져오기 - sparseCheckout

현콩 2024. 1. 16. 12:11
728x90
~/Desktop/원하는폴더경로
$ git remote add -f origin https://github.com/khv9786/for_study_Algorithm.git

많은 사람들과 github를 사용할때 특정 폴더만 가져오고 싶을때가 종종 생겼다.

sparseCheckout 기능을 정리하고자 한다.

 

참고 : 

https://git-scm.com/docs/git-sparse-checkout

 

Git - git-sparse-checkout Documentation

If your repository contains one or more submodules, then submodules are populated based on interactions with the git submodule command. Specifically, git submodule init -- will ensure the submodule at is present, while git submodule deinit [-f] -- will rem

git-scm.com

 


 

레포 구조 

레포명 / 폴더명

 

  • for_study_Algorithm
    • OtherName0
    • OtherName1
    • OtherName2
    • KimHyunBin
      • 백준
        • files...
      • 프로그래머스
        • files...

 

와 같은 구조를 띄고 있는 간단한 상태였다. 원격 저장소 아래 내 이름의 폴더만 가져오고 싶었다.

원래 clone이나 pull을 하게되면 모든 폴더가 복제되었지만

git 1.7부터 사용가능한 기능인 sparse checkout을 사용하면 원하는 폴더나 경로만 복제가 가능했다.

 

 

1. git init 

~/Desktop/원하는폴더경로
$ git init

 

2. sparse Checkout 설정

~/Desktop/원하는폴더경로
$ git config core.sparseCheckout true

 

3. 원격 저장소 연결

~/Desktop/원하는폴더경로
$ git remote add -f origin https://github.com/khv9786/for_study_Algorithm.git

git remote add -f origin <<연결하고자 하는 레포 주소>>

 

4. 폴더에 속성 적용

~/Desktop/원하는폴더경로
$ echo "KimHyunBin" >> .git/info/sparse-checkout

echo <<하위 경로이름>> >> .git/info/sparse-checkout

 

5. Pull로 당겨주기

~/Desktop/원하는폴더경로
$ git pull origin main

$ git pull origin <<브랜치명>>

 

 

폴더 파일만 가져온 모습

 

좋으네오 좋아요~

728x90

'Tool > git' 카테고리의 다른 글

서브모듈 - subModule  (0) 2024.05.14
Git Oauth 활용 로그인 하기  (0) 2024.01.18
GitHub 정리 - 알고리즘 스터디 관리 편  (1) 2024.01.04
git 화살표 폴더  (0) 2023.10.31
git - 프로젝트 올리기  (0) 2023.03.07
Comments