2014-09-02 2 views
1

우리 개발자 중 한 명은 5.2.3-6-gc0dc298과 같은 이상한 버전 관리 형식으로 Nexus의 저장소를 "릴리스"하기 위해 소프트웨어를 계속 공개합니다. 사실 major.minor.build- ofcommits-lastCommitTag입니다. 이 기능은 개발자가 버전 번호를 확인하여이 바이너리에 어떤 기능이 추가되었는지 빠르게 식별하는 데 유용 할 수 있습니다. 표준이 아닌가요?성가신 소프트웨어 버전 관리입니까, 아니면 저입니까?

나는 이것이 애자일과 관련이 없으며, 힘내다 대 SVN 차이점이 아니라 자바 대 하스켈과 관련 있다고 생각한다. 나는 위의 형식을 SNAPSHOT 형식으로 간주하는 반면, 릴리스 가능한 버전 형식은 단순히 x.y.z 일 것이라고 생각합니다. 내가 맞습니까? 프로덕션 환경에서 긴 버전 서식을 사용하면 어떤 이점이 있습니까?

+1

에서 더 많은 아닌가요 참조)입니다 또는 개발 분기로 백 포팅되지 않습니다 ? –

답변

2

5.2.3-6-gc0dc298과 같은 이상한 버전 지정 형식.

가장 가까운 태그를 기준으로 태그가 지정되지 않은 커밋을 참조하는 방법입니다.

즉, "release version format is x.y.z"는 Semantic Versioning과 같은 원하는 표준을 따르는 태그를 통해 얻을 수 있습니다. 당신은 (일반적으로 당신이 밀고 아주 작은 수정을 많이 배포하는 여러 내 일 릴리스주기에) 모든 자료를 태그하지 않는 경우

는하지만, 다음 git describe은 좋은 대안입니다.

그것은 분리 :

  • developement에 라이프 사이클 (안정 버전을 생산 릴리스로)
  • 프로덕션 별 변경/릴리스 지점에 작은 수정을 많이 가지고 릴리스 수명주기 (, 이는

가 더 QA보다 토론의 "Is there a standard naming convention for git tags?"