'릴리스 노트'추적을 위해 일부 외부 도구를 사용하여 작업을 추적하는 것이 좋습니다. 기능을 할당하고 대부분의 경우 특정 서브 버전 커밋과 발행 번호를 연결할 수 있습니다. 나는 이것을 위해 ClearQuest와 Jira를 사용했지만, 오픈 소스/무료 툴이있다.
이 경로를 따르려면 각 커밋에 문제 번호가 태그되고 모든 문제에 특정 소프트웨어 버전 번호 ('해결 방법')가 태그로 지정되어 있는지 확인하십시오. 발견 된 각 버그에 대한 문제점을 엽니 다. 새로운 릴리즈가 나올 때마다 분기를 만들고 해당 릴리즈에서 해결할 문제로 태그 된 커밋을 병합하고 테스트합니다. 때로는이 릴리즈에서 의미가 아닌 변경 사항과 충돌 할 수 있습니다. 분기가 병합되고 빌드 및 테스트가 완료되면 분기 태그를 해제하십시오.
릴리스 문서를 생성하는 것은 매우 간단합니다. 모든 정보는 현재 릴리스 번호와 관련된 문제 추적기에 있습니다.
이전에도 다른 방법으로 수행 한 작업을 보았습니다. 개발 용 분기 열기, 분기에서 개별 변경 수행 및 트렁크로 다시 병합, 각 병합에는 전체 변경에 대한 설명 텍스트 포함 - 새로운 기능이나 버그가 수정되었습니다. 필요한 경우 트렁크에서 릴리스 태그를 직접 작성하십시오. 두 릴리스에서 변경 사항을 얻는 것은 한 릴리즈에서 다음 릴리스까지의 트렁크 변경 사항에서 로그를 읽는 것입니다.
두 가지 솔루션 모두 동일한 유형의 문제를 공유합니다. 병합은 이론 상 사소하지만 실제로는 그렇지 않습니다. 첫 번째 경우 트렁크에서 릴리스 분기로 코드를 가져올 때 중간 커밋을 가져 오지 않을 경우 병합 문제를 처리해야합니다. 브랜치에서 개발하고 트렁크로 다시 병합 할 때 트렁크에 병합하기 전에 먼저 트렁크 변경 사항을 브랜치에 병합해야합니다. 빌드하고 테스트 한 다음 트렁크로 다시 병합하십시오.
대부분의 전복 책은 두 번째 경로를 추천하지만 경우에 따라 처음 사용하는 책 (현재 사용하고있는 책)이 적합합니다. 이 경우에는 20 시간 이상 실행되는 자동화 된 테스트 세트가 있으며 트렁크에 직접 작성된 모든 코드는 자동 테스트 만 실행하면됩니다. 우리가 각각의 변화에 대해 분기한다면, 우리가 다시 합칠 때까지 나뭇 가지를 테스트하지 않은 상태로 두거나, 테스트를 위해 더 많은 하드웨어를 던져야하고 개발 속도를 상당히 늦춰야 할 것입니다.
변경을 할 때마다 식별하는 버전 번호를 사용하여 분기를 시도 했습니까? 아니면 지친 선택입니까? – DumbCoder
이 경우 우리는 수백 가지 버전을 갖게 될 것입니다. 이는 우리에게 너무 많은 버전입니다. 버전과 수천 개의 버전이 분리되어 있습니다. – yegor256
각 사용자에 대해 분기를 만들고 지사에만 커밋하도록 요청하는 것이 좋습니다. 그러면 수퍼 유저는 모든 지사를 기본 지사에 위탁하여 다음 날에 새 개정판을 만듭니다. – DumbCoder