2011-09-04 4 views
3

나는 경우에만이 다른 일이 여기에 gitworkflows http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html에 설명 하나 http://members.cox.net/junkio/git/MaintNotes.htmlgitworkflows - 지점을 정확히 졸업하는 방법은 무엇입니까?

내가 버그를 수정 커밋과 함께 할 수있는 지점과 무엇을 졸업하는 방법을 정확하게에 대한 몇 가지 의문을 가지고있는 것처럼 꽤 많은 모델을 분기 자식이 가지가 상호 작용합니다.

  • 생산 : 우리의 프로덕션 서버에

  • 핫픽스를 배치 있는지 정확히 같은 :

    특히, 나는이 지점을 가지고 나는 버그를 수정 '생산'의 끝에서 포크 (그리고 다시 배포)

  • 몇 가지 기능 분기 : 모든 새로운 기능은 격리되어 생성됩니다.

  • 테스트 : 나는

  • 충분히 성숙의 모든 기능 지점을 병합 할 경우 모든 : 나는 그것이 얼마나 새로운 또는 검증되지 않은 상관없이 모든 기능을 병합없는 경우

내가 기능을 가지 F1 및 F2를 병합 말 그 순서대로 '시험'에 들어간다. 그것들은 함께 연주하지 않는다는 것이 밝혀 지므로, 나는 C1과 C2 픽스를 직접 ('test'에) 적용한다. 나중에 세 번째 지점 F3을 병합하고 잘 작동하지 않는 지점 때문에 발생하는 버그에 대한 수정을 계속합니다 (특정 기능에서 버그를 발견 한 경우 자체 지점에서 수정 한 다음 다시 병합). F1과 F3은 아직 준비가되지 않았기 때문에 (또는 클라이언트가 변덕 스럽기 때문에) 나중에 F2 만 졸업하기를 원하기 때문에이 지점을 '프로덕션'에 직접 병합합니다.

다음에 수행 할 작업은 무엇입니까?

  • F2 또는 F1 (예 : C1 및 C2)과 상호 작용하는 F2가 포함 된 '테스트'의 버그 수정과 관련이 있습니까? 나는 아직 그들을 졸업하지 않은 해당 지점에 체리 채취합니까? 너무 수동 작업이 아닌가요?

  • '테스트'는 어떨까요? 내가 그것을 버리고 '생산'의 새로운 팁에서 다시 구축합니까? 그렇다면, 아직 '생산'상태가 아닌 가지에 대한 버그 수정을 잃지 않도록하는 방법은 무엇입니까? 체리 - 다시 선택하니? 재설정/리베이스가 필요없는 '테스트'를 업데이트하는 방법이 있습니까?

  • F1과 F3의 병합을 '테스트'로 되돌리고 나중에 F2 만 있으면 '테스트'를 프로덕션으로 병합하는 것이 더 좋았습니까? 이 모델에서는 되돌릴 지점과 관련된 버그 수정을 취소해야합니다.

답변

0

이 모델의 복잡성은 너무 많은 작업이 수행되는 공통 분기 'test'에서 비롯됩니다.

오히려 것 :

  • prodtest을 다시 자신의 브랜치 'integ'에 F1 + F2 + F3 현재 "진행중인 통합을"분리 (제공 모두의 결과에 분명하다 재설정하고 자신의 로컬 복제 지점을 재설정 할 준비가되었습니다 test). test
  • 병합 integ
( prod에이 세 가지 기능을 수행하지만 기반으로 모든 작업을 다시 가져 오는)
관련 문제