2016-10-11 3 views
0

저는 엔터프라이즈 회사에서 일하고 있습니다. macOS 용 소프트웨어를 개발 중입니다.장기 지원 지점에 자식?

하나의 git-repo에서 여러 버전의 소프트웨어를 지원하여 문제를 해결하는 방법을 모르겠습니다.

이 제품은 macOS 용 Xcode 프로젝트이며 코드는 git에서 관리합니다. 다음 주요 버전이 출시 될 때까지 1.0

모든 버전이 유효 버전 : 현재에서

거기에 하나 개의 버전이있다. 따라서 v1.0은 v2.0까지 유효하고 유지됩니다. 그러나 v1.0은 이제 "장기간 지원되는 지점"이어야합니다. 즉, v2.0이 밖에 있으면 v1.0이 계속 유지된다는 의미입니다.

v1.0 및 v2.0 및 향후 v3.0을 유지하는 문제를 어떻게 해결할 수 있습니까? v1.0과 v2.0에서 동시에 버그를 해결할 수 있습니까?

아이디어가 있으십니까?

답변

1

branchestags과 함께 사용하면 단일 레포에서 여러 "트리"를 처리 할 수 ​​있습니다. 예를 들어 Ruby on Rails repository을 살펴보십시오. 서로 다른 버전의 브랜치는 x-y-stable입니다.

한 분기에서 다른 분기로 커밋을 포트하려면 cherry pick feature을 사용할 수 있습니다.

1

한 버전에서 무언가를 고칠 때 동일한 수정 사항이 적용되면 다른 지점으로 커밋을 선택할 수 있습니다 (항상 그렇지는 않습니다. 여러 버전이 시간이 지남에 따라 점점 더 많이 변하고 특정 수정 불가능).

참조 : https://git-scm.com/docs/git-cherry-pick

1

마스터를 가정하면 현재 생산 버전이 릴리스는 다음 버전 번호와 마스터 태그를 할 때마다 (즉, V1.0, V2.0, 등)입니다. 따라서 버전 1.0 및 2.0에서이 작업을 수행하고 버전 3.0에서 작업을 시작한다고 가정 해 보겠습니다. 2.0 릴리스에서 만든 통합 분기를 가지고 다음 릴리스라고 부릅니다. 다음 릴리스 분기에는 모든 버그 수정 및 개선 사항이 포함됩니다 (일반적으로 각 버그 수정 및 개선은 자체 작업 분기에 있고 적절하게 검토 한 후 차기 릴리스로 병합됩니다).

1.0 또는 2.0에 대한 버그가보고되면 먼저 다음 릴리스에 버그가 있는지 확인해야합니다. 그렇다면 수정 프로그램을 만들고 체리는 이전 사용자가 제안한대로 수정 프로그램을 선택하십시오. 버그가 1.0 또는 2.0에만 존재하는 경우 1.0 또는 2.0 태그에서 작업 분기를 만들고 거기에 수정 사항을 적용 할 수 있습니다.

관련 문제