2010-02-25 1 views
3

저는 웹 개발 회사에서 일하고 있으며 버전 관리를 위해 GitHub를 사용하려고합니다. 우리는 몇 가지 다른 .NET 기반 CMS 플랫폼과 많은 다른 고객과 함께 작업합니다.일반적인 코드 기반을 가진 많은 소규모 프로젝트를 처리 할 때 github 구조가 좋은가요?

새 사이트를 만들 때 시작하는 각 CMS에 대한 표준 코드 기반이 있습니다. 물론이를 유지하고 개발 된 사이트의 일부 변경 사항을 병합 할 수 있습니다 (표준 코드베이스가 어떤 방식 으로든 개선되었을 때).

게시 된 사이트를 나중에 약간 변경해야하며 최소한의 노력만으로이 작업을 수행 할 수 있기를 바랍니다 (예 : 고객이 2 시간 이내에 문제를 해결하기 위해 기꺼이 돈을 지불하지만, 처음 2 시간 동안 지불하고 싶지 않음).

효율적으로 작동하려면 어떻게 설정해야합니까? 나는 매우 분산 버전 컨트롤에 익숙하지 않아요 (I는 CVS, Subversion을 지우기 케이스 전에 함께 일했다)하지만, 우리가 할 수 내 상상력에서 :

  1. 각 고객에 대해 하나 명의 저장소를 설정, 복사 시작 표준 코드베이스에 대해 당연히 많은 저장소.
  2. 각 CMS에 대해 하나의 저장소를 설정 한 다음 각 고객에 대해 하나의 분기를 분기하십시오. 이것은 아마도 가장 좋은 방법 일 것입니다.하지만 동일한 저장소에 100 명의 고객 (= 지점)이 있으면 어떻게됩니까? 또한 우리가 본사에 합병하려는 의도가 전혀없는 많은 지점을 생성한다는 점도 전혀 좋지 않습니다.

아마도 많은 지류가 내 상상력의 문제 일뿐입니다. 아니면 아마도 생각하지 못한 더 나은 방법이있을 것입니다. 비슷한 문제가있는 어떤 experince에도 관심이 있습니다.

시간을내어 도와 주셔서 감사합니다.

힘내와

답변

2

, 몇 가지의 repos 작동 할 수 있습니다 고객의 당 분기 하나 개의 repo가 ​​제공

그러나 귀하의 경우 (대답의 세 번째 부분에서, nature of Git submodules를 참조 공통 구성 요소를 공유) 서브 모듈의 목적에 대한 이해

  • 마스터의 상단에 그 같은 지점을 리베이스하면서
  • (이 포함 된,
    • 일부 클라이언트 별 변경 분리 (아무 다시 마스터 병합와 수명이 긴 지점을 확인하다) : 당신은에 가지를 사용하는 공통점, 모든 지점에서 필요로하는 공통된 진화와 함께).
    +0

    통찰력을 주셔서 감사합니다. VonC! –

    관련 문제