여기서 문제가 보이지 않습니다.
master
지사 와 함께이 기능을 이미 보유 하고 있으며 기능을 개발 한 다음 병합하는 동안 계속 변경됩니다.
구체적인 예에서는 먼저 feature_xxx_backend
지점을 만들고 백엔드 변경 사항을 개발합니다. 이 작업이 완료되면 지사는 master
검토를 마치고 검토가 완료되면 병합됩니다 .
따라서 다른 지점을 시작하면 feature_yyy_frontend
됩니다. 아마도 브랜치에서 feature_xxx_backend
이미 변경 사항이 적용되도록 에서 직접 분기하고 싶을 것입니다 . 그런 다음 분기가있는 것처럼 간단히 프론트 엔드 기능을 개발하십시오 master
.
때 feature_xxx_backend
따르기는 하겠지만 할 필요가 검토 중에 올 일이 있기 때문에 지점 변화는 단순히 이러한 변경을하고로 병합 예를 들어 feature_yyy_frontend
지점. 그런 다음 프론트 엔드 지점에서 계속하십시오.
백엔드 분기에 대한 검토가 완료되면에 병합됩니다 master
. 이 시점 에서 지사 를 리베이스 하는 것이 현명합니다 . 따라서 검토자는 이 지사에 기여한 새로운 변경 사항 만 검토하면 되고 백엔드에 대한 변경 사항을 다시 검토 할 필요는 없습니다 (이미 승인 됨). ).feature_yyy_frontend
master
master
종속 분기가 2 개, 3 개 이상인 경우에도 수행 할 수 있습니다. 의존하는 두 개의 기능 분기가있는 경우 두 기능이 병합 된 파생 분기를 간단하게 작성하십시오. 거기에서 분기하여 세 번째 기능을 개발하고 각 기능 변경시 길을 따라 두 기능 분기를 병합하십시오. 두 기능이 모두 수행되어 파생 된 분기로 병합되면 해당 분기로 리베이스하거나 마스터로 병합 된 경우 마스터로 리베이스하십시오.
Rebasing (위에서 제안한대로)은 실제로 강력하며 변경 사항을 깔끔하게 기록하여 검토를 훨씬 쉽게 만듭니다.