최근에 분기 및 병합 및 SCM : 분기 및 병합 입문서-Chris Birmele에 대한 MSDN 기사를 접했습니다 .
이 기사에서 그들은 '빅뱅 병합'이 합병하는 반 패턴이라고 말합니다.
Big Bang Merge — 개발 노력이 끝날 때까지 지점 병합을 연기하고 모든 지점을 동시에 병합하려고합니다.
나는 이것이 회사가 생산하는 모든 개발 부서에서하고있는 것과 매우 유사하다는 것을 깨달았습니다.
나는 한 사람이 최종 검토 + 트렁크 병합 권한을 가진 매우 작은 회사에서 일합니다. 우리는 5 명 (나를 포함하여)을 가지고 있으며, 우리 각자에게는 별도의 작업 / 버그 / 프로젝트가 할당되고 각 분기는 현재 트렁크 (subversion)에서 분기 된 다음 분기에서 개발 작업을 수행하고 결과를 테스트하고 문서를 작성합니다. 필요한 경우 다른 개발자와 동료 검토 및 피드백 루프를 수행 한 다음 프로젝트 관리 소프트웨어에서 검토 + 병합을 위해 지점을 제출하십시오.
트렁크 저장소의 유일한 권한 인 내 상사는 실제로 가능한 한 많은 시간 동안 검토를 수행 할 단일 시점까지 지점의 모든 검토를 연기합니다. 일부 지점은 개선 / 수정을 위해 되돌려집니다. 지점은 트렁크에 바로 병합되고 일부 지점은 충돌 등으로 인해 다시 발생합니다.
최종 검토 대기열에 10-20 개의 활성 지점이 트렁크에 병합되도록하는 것은 드문 일이 아닙니다.
또한 두 개의 분기가 동일한 트렁크에서 생성되었지만 동일한 코드 조각을 수정했기 때문에 최종 검토 및 병합 단계에서 충돌을 자주 해결해야합니다. 일반적으로 우리는 트렁크를 다시 브랜치하고 변경 사항을 다시 적용하고 충돌을 해결 한 다음 검토를 위해 새 브랜치를 제출하여 (이난 한 사람들의 리베이스)이를 방지합니다.
내가 가진 몇 가지 직접적인 질문은 다음과 같습니다.
- 우리는 '빅뱅 머지 (big bang merge)'로 묘사 된 매우 반 패턴을 전시하고 있습니까?
- 이 병합 프로세스의 결과로 발생하는 일부 문제가 있습니까?
- 상사의 병목 현상을 증가시키지 않고이 병합 프로세스를 어떻게 개선 할 수 있습니까?
편집 : 내 상사가 트렁크 저장소에 대한 그립을 느슨하게하거나 다른 개발자가 트렁크에 병합 할 수 있는지 의심합니다. 그의 이유가 무엇인지 확실하지 않지만 실제로 주제가 제기되기 전에 계획을 세우지 않을 것입니다. 나는 그들이 우리를 믿지 않는다고 생각합니다. 어쨌든 모든 것이 추적되기 때문에 의미가 없습니다.
이 상황에 대한 다른 통찰력이 있으면 감사하겠습니다.