@Mot에 완전히 동의합니다.
같은 질문을 듣게되어 기쁩니다.
우리 팀은 또한 성공적인 분기 모델보다 더 많은 범용 분기 모델을 찾고 있었습니다. 예를 들어 안정적인 릴리스를 위해 kernel.org에서 수행하는 것처럼 별도의 * .git 저장소에서 release- * 분기를 지원하기위한 추가 저장소를 도입하지 않는 것이 주된 아이디어입니다. 하지만 kernel.org는 다운로드 크기를 최소화하기 위해 수행합니다.
나에게는 마스터 를 개발의 메인 라인으로 사용 하는 것이 더 깨끗한 것 같습니다 .
또한 릴리스-* 모델 을 마스터로 병합 하고 나중에 아이디어로 태그를 지정하는 데 약간의 충돌이 있습니다.
Git 후크 스크립트를 사용하여 마스터에 커밋이있을 때마다 소프트웨어를 자동으로 빌드하고 프로덕션 서버에 배포합니다.
원인 (병합 및 태그) 마무리 원자 거래되지 않습니다 :
$ git checkout master
Switched to branch 'master'
$ git merge --no-ff release-1.2
Merge made by recursive.
(Summary of changes)
$ git tag -a 1.2
그리고 git hook이 자동 버전 관리 지원으로 빌드를 시작하면 :
$git describe --tags --long >.ver
다음을 위해 잘못된 버전을 만들 수 있습니다.
$ git merge --no-ff release-1.2
성공적인 버전의 버전 관리는 일부 범프 버전 프로세스를 도입
하지만 자동은 아닙니다.
요약하자면-릴리스 용 브랜치 모델에 도입 한 주요 차이점-* 병합 및 태그 지정은 다음과 같습니다.-브랜치 생성시 릴리스 태그 지정-향후 유지 관리를 위해 릴리스의 브랜치 유지