질문 : 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
'개발관련 > Git' 카테고리의 다른 글
git-merge --dry-run 옵션 (0) | 2021.11.23 |
---|---|
.gitignore에 추가 한 후 원격 저장소에서 디렉토리 제거 (0) | 2021.11.22 |
로컬 Git 브랜치를 원격의 마스터 브랜치로 푸시하는 방법 (0) | 2021.11.22 |
Git의 비밀번호를 업데이트 하는 방법 (0) | 2021.11.22 |
Git 충돌 마커 (0) | 2021.11.19 |