일반적으로 제품 수명주기 동안 여러 릴리스가있을 수 있고 이전 제품의 지원이 필요한 장기 프로젝트의 경우 제품 버전 및 코드 기반 분기를 처리하는 가장 좋은 방법은 무엇입니까?
좀 더 구체적으로 말하면, 적절한 분산 버전 관리 (git)가 있고 팀 규모가 크거나 크며 개발자가 한 번에 여러 프로젝트를 수행하고 있다고 가정하십시오. 현재 직면하고있는 주요 문제는 당시에 존재하던 이전 버전을 지원해야하는 계약상의 의무가 있다는 것인데, 이는 새로운 개발로 기존 코드를 패치 할 수 없다는 것을 의미합니다 (Microsoft Office 제품은 이에 대한 예일 수 있습니다. 소유 한 기능 연도).
결과적으로 현재 제품 버전 관리는 각 주 제품에 여러 버전의 종속성이 있으며 각 버전마다 연례 릴리스간에 변경 될 수있는 고유 한 버전이 있습니다. 마찬가지로, 각 제품에는 자체 저장소가 있지만 대부분의 작업은 기본 소스 트렁크에서 수행되는 것이 아니라 제품이 릴리스 될 때 새 분기가 만들어지면서 지원 될 수 있도록 해당 분기의 제품 릴리스에서 수행됩니다. 이는 제품의 코드베이스를 얻는 것이 버전 관리를 사용할 때 생각할 수있는 단순한 문제가 아님을 의미합니다.