내가 Subversion을 설정하는 방식에 대해 내가 좋아하는 것 중 하나는 여러 프로젝트가있는 단일 주 저장소를 가질 수 있다는 것입니다. 프로젝트 작업을하고 싶을 때 해당 프로젝트 만 확인할 수 있습니다. 이렇게
\main
\ProductA
\ProductB
\Shared
그때
svn checkout http://.../main/ProductA
git의 새로운 사용자로서 특정 워크 플로를 적용하기 전에 현장에서 약간의 모범 사례를 살펴보고 싶습니다. 지금까지 읽은 내용에서 git은 모든 것을 프로젝트 트리의 루트에있는 단일 .git 폴더에 저장합니다. 그래서 두 가지 중 하나를 할 수 있습니다.
- 각 제품에 대해 별도의 프로젝트를 설정하십시오.
- 하나의 대규모 프로젝트를 설정하고 제품을 하위 폴더에 저장합니다.
제품간에 종속성이 있으므로 단일 대규모 프로젝트가 적절 해 보입니다. 모든 개발자가 코드를 공유 할 수있는 서버를 사용할 것입니다. 나는 이미 SSH 및 HTTP를 통해 작동하고 있으며 그 부분을 좋아합니다. 그러나 SVN의 리포지토리 크기는 이미 많은 GB이므로 각 시스템의 전체 리포지토리를 드래그하는 것은 좋지 않은 생각처럼 보입니다. 특히 과도한 네트워크 대역폭에 대한 비용이 청구되기 때문입니다.
Linux 커널 프로젝트 리포지토리가 똑같이 크기 때문에 Git을 사용하여이를 처리하는 적절한 방법이 있어야한다고 생각하지만 아직 파악하지 못했습니다.
대규모 다중 프로젝트 저장소 작업에 대한 지침이나 모범 사례가 있습니까?