git를 사용하는 경우에도 현재 프로젝트별로 1 개의 repo를 사용한다고 인정됩니다. 대부분의 답변 또는 조언에서이를 알려줄 것입니다. 실제로는 모든 것을 같은 저장소에 저장하는 솔루션입니다. 'monorepo'전략.
빅 인터넷 플레이어는 Google, Facebook, Microsoft와 같이 (거의) 가고 있습니다. 그래서 프로와 단점에 대한 몇 가지 문서를 쉽게 찾을 수 있습니다.
예 : 보인다으로 https://github.com/babel/babel/blob/4c371132ae7321f6d08567eab54a59049e07f246/doc/design/monorepo.md 당신은 주요 문제 중 하나는 버전 관리 도구의 성능이라고 이해하면
(그러나 자식은 반드시 5 개발팀을 지원할 수)는, 그것은 ... 프로젝트 느낌이 더 당신은 이미 몇몇 이점을 인식하고있는 것으로 보이고, 나는 당신이 그것을 시험 할 것을 강력하게 조언합니다!
또한 저장소를 병합하는 git 명령 (기록 보관)은 저장소를 병합하는 것보다 훨씬 쉽기 때문에 먼저 시도해보십시오.
우리 팀에서는 우리가 monorepo에 점점 더 많이 다가 가고 있습니다.
내 개발자 5 명은 6 개의 솔루션 (일명 섹션)으로 구성된 중간 규모 응용 프로그램을 유지 관리합니다.
한 응용 프로그램의 경우 monorepo가 실제로 좋은 해결책 일 수 있습니다.
하지만 해결해야 할 문제는 누겟으로 관리하는 솔루션간에 종속성이있는 경우입니다.
너겟 사용을 제거하고 이진 의존성을 사용하면 (체크인하지 않고!) 모든 빌드가 필요하지만 분기를 사용하기가 어려울 수 있습니다.
두 개의 커밋을 사용하여 여러 개의 git 리포지토리와 마찬가지로 업데이트를 수행 할 수 있습니다. 수동으로 또는 빌드로 자동화 할 수 있습니다.
시 : 자식 서브 모듈이되도록 기반으로하는 솔루션 반면에
:-(통증이있을 것입니다 ... 어려운 매우 자식 처음 사용자를위한 adviced 아닌, 하나 개의 망할 놈의 repo 어떤 솔루션을 변경해도 TeamCity CI 서버의 모든 솔루션을 완전히 새로 빌드 할 수 있습니다.
각 솔루션마다 다른 빌드를 만들고 솔루션 폴더에서만 각 팀십 트리거를 설정할 필요는 없습니다.
Ps2 : 예상보다 긴 대답을했습니다. 도움이 되었기를 바랍니다.
팀에서 서브 모듈에 대한 경험이 많지 않은 경우이 방법을 사용하지 않는 것이 좋습니다. 서브 모듈은 종이 위에는 멋지지만 실제로는 엉망이 될 수 있습니다. – zypherman
"경험이 없으면 경험이 없습니까?" 당신이 그들과 구체적인 이슈가 있다면 나는 그것에 대해 듣고 싶을 것이다. 그러나 이것은 FUD 사람들이 던져 버릴 수없는 것처럼 들리 겠지만 - 원하지도 않는다 - 제대로 기능을 사용하는 법을 배우게된다. . –