강
[Github] 특정 폴더만 clone 받기 본문
깃허브를 이용하다 보면 특정 폴더만 pull 혹은 clone해오고 싶은 경우가 많다.
가져오고 싶은 프로젝트가 거대할 수록 굳이 필요없는 파일들 까지 받아오는 것은 비효율적이기 때문이다.
따라서 특정 폴더만 clone해 오는 방법을 소개한다.
클론 받을 폴더 생성
mkdir "폴더 이름"
cd "폴더 이름"
폴더를 생성하고 해당 폴더로 이동한다.
Sparse Checkout 기능 활성화
git config core.sparseCheckout true
git remote 추가
git remote add -f origin <remote url>
만약에 clone 받을 폴더에 이미 git remote가 있다면
git init
git init 명령어를 통해 독자적인 git remote를 생성하도록 한다.
checkout 하기
echo <가져올 repository의 폴더 경로> >> .git/info/sparse-checkout
여기서 가져올 repository의 폴더 경로라는 것은, 만약 test라는 repository의 test1이라는 폴더를 가져오고 싶다면, test1/ 을 적으면 되는 것이다. 아까 로컬에서 생성한 폴더이름과는 다를 수 있다.
pull 받기
git pull origin master
or
git pull origin main
그 후 pull 명령어를 실행하면 정상적으로 해당 폴더만 받아와질 것이다. 요즘에는 깃허브의 기본 메인 브렌치가 master가 아닌 main으로 생성되는 경우가 있다. 따라서 해당 깃허브의 기본 메인 브렌치가 무엇인지 파악하고 pull명령어를 입력하자.
또한 아까 해당 폴더에 git init 명령어를 입력했다면,
rm -rf ./git
해당 명령어를 통해 다시 원래 git remote로 바꾸어주어야 문제가 없을 것이다.
참조
'Github' 카테고리의 다른 글
[Git] Another git process seems to be running in this repository 에러 해결 (0) | 2021.09.14 |
---|---|
[Github]Git 내 컴퓨에 계정 등록 (0) | 2021.08.31 |
[Github] 토큰 생성과 로그인 방법 (0) | 2021.08.24 |
Comments