Backup

git 부분적으로 clone 하기 | sub directory

두라미 2023. 8. 29. 12:33

https://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository

https://stackoverflow.com/questions/4114887/is-it-possible-to-do-a-sparse-checkout-without-checking-out-the-whole-repository


제일 따봉 많이 박힌 답변으로 하면 되긴 함. 

mkdir <repo>
cd <repo>
git init
git remote add -f origin <url> # 여기는 full repository의 경로
#  1855* git remote add -f origin git@github.com-계정B:TanStack/query.git


git config core.sparseCheckout true


echo "some/dir/" >> .git/info/sparse-checkout
echo "another/sub/tree" >> .git/info/sparse-checkout
# echo 안에 들어가는 디렉토리는 내가 클론하고 싶은 remote 의 루트 기준에서 디렉토리다. 


git pull origin main

이렇게 했을때 문제는 내가 

mkdir a

a 디렉토리안에서 이 작업을 하면, 

 

a/some/dir

이런식이 된다는거다. 하단 답변에 무슨 심볼릭링크로 해결하라는 답변있던데 그건 좀 아닌것같고;; 

일단 나는 용량 적게 클론 받고 싶었으니 다음에 더 찾아보는 걸로. 

 

 

후행 슬래시를 어떻게 하냐.. * 애스터리스크를 넣냐 안넣냐.. swallow copy가 되서 문제다.. 이런 저런 옵션이 생각보다 많다. 

 

 

이미지용 ㅋ