2012-08-04 2 views
3

출시 내용을 어떻게 관리합니까?추적, 지점 또는 태그를 추적하고 있습니까?

현재, 우리는 여러 사람에 의해 수행이 개 주요 지점

  • dev에
  • 릴리스

지속적인 개발은 항상 dev에서 발생합니다. 충분한 양의 변경이 이루어지면 코드는 release으로 병합되고이 코드에서 태그가 추가됩니다. 그런 다음 코드가 배포됩니다.

문제 : 이것은 잘 작동하지만 종종 dev 브랜치에서 처리되는 새로운 버그가 발생합니다. 많은 버그가 있습니다. 문제가 해결되면 고객에게 제공되는 새로운 빌드에는 종종 수정 사항과 새로운 기능이 모두 포함됩니다.

나는 다음에 과정을 변경하려면 :

  • 현재 < - 현재 데브 스트림은 가장 최신의, 아직
  • 자극 <를 배포하지 - 현재 자극의에서 합병 DEV/1.0.2
  • dev에/1.0.0 < - 내장 및 시간을 자극하는 배달 전에
  • dev에/1.0.1 < - 이전 빌드 버그 수정이 건설 될 및 찌르다.
  • dev/1.0.2 < - 이전 빌드에 대한 버그 수정. 빌드되어 제공되기 시작 함. 현재 찌르다

당신은 어떻게 생각하십니까? 이러한 추세가 장기적으로 지속 가능해질 것인가? 우리는 해마다 적어도 2 ~ 3 건의 사고 후 해결해야 할 일을 매년 15 번 풀어 놓습니다. 그래서 대략 대략, 우리는 일년에 75 개의 지점을 갖게 될 것입니다. 제거 될 것입니다.

+1

'release' 브랜치에서 버그를 수정하고'dev' 브랜치에서 진행중인 작업을 가져 오지 않고 프로덕션에 배치 할 수 있습니까? 그냥'release'에서 직접 분기하고, 버그를 고치고,'release'와'dev'에서 그 지점의 변경 사항을 병합 할 수 있습니까? – lanzz

답변

3

여러 사람들이 새로운 기능 (및 기존 기능 개선)을 사용하고 있으며 모두 dev 브랜치를 사용하여 코드를 커밋하면 dev 브랜치가 안정적인지 확신 할 수 없습니다. 개발자가 feature 브랜치를 사용하여 새로운 기능을 빌드하고 기능이 완료되었을 때이를 dev 브랜치에만 병합하는 경우 dev 브랜치는 항상 안정적이어야합니다. (그런 다음 지형지 물을 삭제할 수도 있습니다.)

나는 git flow의 솔루션을 좋아합니다. 마스터 (프로덕션) 지점과 개발 지점이 있습니다. 또한 프로덕션 환경에서 수정해야하는 사항에 대한 새로운 기능 및 핫픽스 분기 작업을 할 수 있고 다음 릴리스까지 기다릴 수없는 기능 분기가 있습니다.

관련 문제