반응형
git clone 특정 디렉토리만 선택적으로 복제하는 방법
git clone 명령어는 전체 저장소를 복제하는 데 사용되며 특정 디렉토리만 선택적으로 복제하는 기능은 지원하지 않습니다. 하지만 특정 디렉토리만 가져오는 비슷한 효과를 낼 수 있습니다.
git 버전 확인
git version
$ git version
git version 2.34.1
Partial Clone
Git 2.19 이상에서 지원하는 기능으로 필요한 파일만 다운로드할 수 있습니다. 하지만 특정 디렉토리만 클론하는 것과는 조금 다릅니다.
git clone --filter=blob:none --no-checkout <repository-url>
cd <repository-directory>
git sparse-checkout init --cone
git sparse-checkout set <directory-path>
git checkout <branch>
예를 들어, src 디렉토리만 클론하려면 다음과 같이 합니다.
git clone --filter=blob:none --no-checkout https://github.com/user/repo.git
cd repo
git sparse-checkout init --cone
git sparse-checkout set src
git checkout main
728x90
Sparse Checkout
Sparse Checkout 기능을 사용하면 특정 디렉토리만 체크아웃할 수 있습니다.
git clone --no-checkout <repository-url>
cd <repository-directory>
git config core.sparseCheckout true
echo "<directory-path>/" >> .git/info/sparse-checkout
git checkout <branch>
예를 들어, src 디렉토리만 체크아웃하고 싶다면 다음과 같이 할 수 있습니다.
git clone --no-checkout https://github.com/user/repo.git
cd repo
git config core.sparseCheckout true
echo "src/" >> .git/info/sparse-checkout
git checkout main
이 방법들을 통해 필요한 디렉토리나 파일만 가져오는 효과를 낼 수 있습니다.
참고URL
- git-scm.com : partial-clone
- git-scm.com : git-sparse-checkout
728x90
반응형
'리눅스' 카테고리의 다른 글
NGINX의 SSL/TLS 프로토콜 및 암호화 스위트를 안전하게 구성하는 방법 (0) | 2024.06.21 |
---|---|
우분투에서 node.js 애플리케이션을 pm2를 사용하여 실행하는 방법 (0) | 2024.06.20 |
Puppeteer를 사용하여 테스트하는 방법 (0) | 2024.06.14 |
우분투에 Nginx와 PHP 8.3을 소스에서 컴파일하여 설치하는 방법 (0) | 2024.06.13 |
우분투에 PHP 8.3을 설치하거나 기존 PHP를 PHP 8.3으로 업그레이드하는 방법 (0) | 2024.06.12 |