모노레포(Monorepo)
는
많은 프로젝트 코드를 하나의 레포지토리에 넣는 전략을 말합니다.
구글에서 제공하는
플러터 플러그인
같은 경우도 여러 플러그인들이 같은 레포지토리에 들어있습니다.
이 레포지토리의 하위 디렉토리인 구글맵 플러그인 example
폴더(https://github.com/flutter/plugins/tree/master/packages/google_maps_flutter/google_maps_flutter/example)
만 다운로드 하고 싶은 상황이라고 합시다.
버전 관리 정보 없이, 다운로드 하고 싶을 때
svn export https://github.com/flutter/plugins/trunk/packages/google_maps_flutter/google_maps_flutter/example
명령을 터미널에
입력하면 됩니다.
/tree/master 부분을 /trunk 로
바꿔주는 것을 주목하세요.
svn이 본능적으로 싫은 사람들도 있습니다.
git을 이용하는 방법에도 여러 가지가 있지만 git 호스팅 사이트(github, gitlab, bitbucket) 별로 지원하는 명령어 옵션에 조금씩 차이가 있습니다.
여기서는 github 기준으로 썼습니다.
git clone https://github.com/flutter
cd plugins
git filter-branch --subdirectory-filter ./packages/google_maps_flutter/google_map
그 밖에도 git clone --filter 를 하는 방식이 있는데 github 에서는 안됩니다.