지역

1

1. 저장소의 폴더 구조와 ASP.NET MVC 프로젝트에 대한 계획을 분기 망할 놈의 :지역

 
- repository root 
    -- ASP.NET MVC4 Project Folder  
     --- Views & Controllers 
      ---- Index, Login, Dashboard, Common styles and scripts 
     --- Areas 
      ---- Area 1 
      ---- Area 2 

2. 조건

  • 을 감안할 때 3 개 프로젝트 (대시 보드, 지역 1 2)는 동일한 데이터베이스와 비즈니스 로직을 공유하는 별도의 도구이기 때문에 거의 독립적으로 개발되고 있습니다.

  • 지역은 스타일, 템플릿 및 프로젝트의

  • 출시 날짜가 다른 루트 프로젝트의 스크립트의 일부를 공유하고, 모든 프로젝트는 그대로 다른 사람을 유지 별도로 배포 할 수 있어야합니다.

3. 문제가 하나 개의 프로젝트에 지역 사용의

필요성 (대신 별도의 asp.net MVC 프로젝트 나 간단한 하위 폴더의 조건을 만족하는 자식 가지 방식을 구성하는 방법

)는 질문이 아닙니다. 우리는이 방법이 필요합니다.


내 최고의 아이디어
지금까지 다음과 같이 구성 지점을 가지고하는 것이 었습니다 :

 
- Release //currently released branch, hotfixes go here 
- Master  //next release candidate 
- Dev  //current aggregated development version 
-- Dashboard //work on the root project goes here 
-- Area 1  //work on Area 1 goes here 
-- Area 2  //work on Area 2 goes here 
  • 대시 보드 및 지역 만 Master에서 업데이트를 가져.
  • 통합 솔루션을 테스트하기 위해 대시 보드 및 영역에서 Dev으로 업데이트를 푸시합니다.
  • 대시 보드 및 영역은 다음 릴리스 준비가되었을 때마다 Master으로 업데이트를 푸시합니다.
  • branch sync scheme

그러나 불완전하고 의심이 솔루션에 대한 냄새가 뭔가가있다. 그들은 동일한 데이터베이스 및 비즈니스 로직의 일부를 공유하는 별도의 도구로

답변

1

: enter image description here

다른 원격 지점에서 우리는 우리의 현재 영구 기능 분기를 유지할 수 /로/푸시를 뽑아 자식의 능력으로는 체크 아웃하고 쉽게 원격 DEV 분기와 동기화.

완벽하게 작동합니다.

1
  • 을 감안할 때 3 개 프로젝트 (대시 보드, 지역 1-2) 거의 독립적으로 개발되고있다.

  • 프로젝트의 릴리스 날짜가 다르므로 모든 프로젝트를 별도로 배포 할 수 있어야합니다.

당신은 당신의 질문에 대답을 가지고 : 사람들은 세 가지 프로젝트 있습니다. 각 프로젝트에는 자체 저장소가 있어야합니다. 분기 작업은 이런 유형의 워크 플로우를위한 것이 아니며, 하나의 저장소에서 개별 프로젝트를 관리하는 데 사용하는 것이 고통 스러울 것입니다.

각 프로젝트마다 리포를 만들고 전체 애플리케이션에 대해 네 번째 리포를 만듭니다.이 세 프로젝트를 submodules으로 추가하십시오. 이 방법을 사용하면 하위 프로젝트를 별도로 관리 할 수 ​​있으며 큰 프로젝트의 릴리스로 상태 조합을 고정 할 수 있습니다. 다음과 같이 그 일을 최대 종단

+0

글쎄, 서브 모듈은 꽤 고통 스럽지만, 생각해 볼만한 가치가 있습니다. – Anri