2013-01-07 5 views
5

우리 회사에서 우리는 SvN에서 Git으로 이동하고 있습니다 (예, 결코 늦지 않을 것). 또한 버전 관리 프로세스를 간소화하기 위해 노력하고 있습니다. 이를 위해 Vincent Driessen의 성공적인 Git Branching Model이라는 흥미로운 기사를 발견했습니다.Successful Git Branching Model을 가진 여러 버전 지원

기사에서 읽을 수있는 한, 개발자는 선형 릴리스를 사용합니다. 명확하게 :

v1.0.0 --> v1.0.1 --> v1.0.2 --> v1.1.0 --> v1.1.1 etc 

이전 릴리스에 대한 지원은 언급되지 않았습니다. 예를 들어 일부 클라이언트는 업그레이드를 원하지 않기 때문에 최대 3 개의 주요 버전을 지원합니다. ,

v7.0.0 --> v8.0.0 --> v9.0.0 --> v10.0.0 

v9.0.0의 릴리스 이후 v8.0.0에서 발견되는 중요한 버그가, 우리는 태그 v8.0.0 체크 아웃 버그를 수정하고, developmaster 지점에 다시 병합 : 그래서 우리는 다음과 같은 버전이 상상한다. master에 병합하면 v8.0.1 태그가 생성됩니다.

때문에 두 가지 중 어떻게 든 이상한 날 것으로 보인다 :

  1. master 타임 라인 v7.0.0 --> v8.0.0 --> v9.0.0 --> v8.0.1 --> v10.0.0처럼 보일 것입니다. 나는 그것이 가능하다는 것을 완전히 알고 있지만 그것은 또한 수용 가능합니까?
  2. 내가 masterhotfix에서 병합 (그리고 masterv9.0.0에서 그 순간에있다) 나는 또한 기능 v8.0.0v9.0.0 사이에 도입합니까, v8.0.1으로 태그를?

미리 감사드립니다.

답변

4

나에게있어 v8.0.1 태그는 병합 전에 커밋이어야합니다. master. 새 버전을 패치하려면 다른 태그도 병합하십시오.

v8.0.0 --> v9.0.0 --> v10.0.0 
    \   \   \ 
    v8.0.1 --> v9.0.1 --> v10.0.1/master 
+0

고마워요! 나는 처음에는 힘내에서 태깅 (tagging)이라는 개념을 오해했을 것이다. :) Did'nt는 개발/마스터로 병합하는 대신 태그 자체로 태그를 달 수 있다는 것을 깨달았다. 감사! – Ivan