개발관련/Git

Git 리포지토리의 하위 디렉터리만 복제하는 방법

Rateye 2021. 11. 22. 10:43
728x90
반응형
질문 : Git 리포지토리의 하위 디렉터리 만 복제하려면 어떻게해야합니까?

루트에 두 개의 하위 디렉토리가있는 Git 저장소가 있습니다.

/finisht
/static

이것이 SVN에 있을 때, /finisht 는 한 곳에서 체크 아웃되고 /static 은 다른 곳에서 체크 아웃되었습니다.

svn co svn+ssh://admin@domain.com/home/admin/repos/finisht/static static

힘내로 이것을 할 수있는 방법이 있습니까?

답변

편집 : Git 2.19 부터이 답변 에서 볼 수 있듯이 마침내 가능합니다.

그 대답을 찬성하는 것을 고려하십시오.

참고 : Git 2.19에서는 클라이언트 측 지원 만 구현되고 서버 측 지원은 여전히 누락되어 로컬 리포지토리를 복제 할 때만 작동합니다. 또한 GitHub와 같은 대형 Git 호스팅 업체는 실제로 Git 서버를 사용하지 않고 자체 구현을 사용하므로 Git 서버에 지원이 표시 되더라도 Git 호스팅 업체에서 작동한다는 것을 자동으로 의미하지는 않습니다. (OTOH, Git 서버를 사용하지 않기 때문에 Git 서버에 표시되기 전에 자체 구현에서 더 빠르게 구현할 수 있습니다.)

아니요, Git에서는 불가능합니다.

Git에서 이와 같은 것을 구현하는 것은 상당한 노력이 될 것이며 클라이언트 측 저장소의 무결성을 더 이상 보장 할 수 없음을 의미합니다. 관심이 있으시면 git 메일 링리스트에서 "sparse clone"및 "sparse fetch"에 대한 토론을 검색하십시오.

일반적으로 Git 커뮤니티의 합의는 항상 독립적으로 체크 아웃되는 여러 디렉토리가있는 경우 실제로 두 개의 다른 프로젝트이며 두 개의 다른 저장소에 있어야한다는 것입니다. Git Submodules를 사용하여 다시 붙일 수 있습니다.

출처 : https://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository
728x90
반응형