문제

방금 GIT가 관리하는 프로젝트의 미완성 기능을위한 주제 지점을 만들었습니다. 그것들은 모두 그런 식으로 매우 독립적이며, 한 주제 지점은 다른 주제 지점과 직접 관련이 없습니다. 그러나 모든 지점에는 시스템의 핵심 인 마스터 브랜치가있는 공통점이 있으며 주제 지점은 마스터 브랜치의 기능을 확장합니다.

내가 올바르게 이해 한 경우, 마스터 브랜치에서 (m)에 영향을 미치는 일을한다면 (m) 모든 주제 지점 (예 : 핵심과 개별 기능 사이에 통신하는 데 사용되는 API를 변경). 분기가 그에 따라 고정 될 수 있도록 자동으로. 변경 사항은 수동으로 병합되거나 체리 대신 다른 지점에 chery를 선택해야합니다.

나는 하위 모듈을 사용하면 이것을 달성 할 것임을 이해합니다. 그러나 하위 모듈은 주로 기능이 자립적이지 않기 때문에 기본 프로젝트와 기능 프로젝트를 너무 많이 분리시킵니다. 그들은 핵심에 의존합니다.

따라서 내가 찾고있는 것은 특정 파일/디렉토리가 특정 지점에 고유하다고 말하는 일종의 방법입니다. 다른 모든 것은 기본 지점에서 나옵니다. 더 나은 비유가 부족하고 Photoshop 용어로 말하면 주인 백그라운드 레이어가 되려면, 각 주제 지점은 일부 고유 한 내용과 함께 부분적으로 트랜스 팬티 이미지 레이어가 될 것입니다.

도움이 되었습니까?

해결책

"구성"또는 "구성 상속"이라는 개념은 질문에서 설명 된 바와 같이 GIT에서 뒷받침되지 않습니다. "유연한 대 정적 분지". 만 합병하면 원하는 정확한 파일 세트를"작성 "할 수 있습니다.

하위 모듈 기능을 사용하면 자체 수명주기가 있어야하고 자체 속도로 태그를 지정 해야하는 일관된 파일 세트를 식별하는 데 도움이됩니다. 그것은 당신의 기능의 경우가 아닙니다.

당신의 접근 방식은 "시스템 기반"하나는 모든 시스템을 개발, 태그 및 병합하는 곳입니다. 마스터 브랜치에서 무언가가 진화하면 기능 분기에 병합되어야합니다.
기능에 기능이 마스터 브랜치에서 수정 된 다른 파일 세트가 포함 된 경우 해당 파일은 사소합니다. 그렇지 않다면 따라갈 수 있습니다 Mateusza의 제안, 중간 지점을 사용하여 충돌을 해결하고 해당 병합의 결과를 평가하면서 피처 분기를 그대로 유지하십시오.

다른 팁

지점 마스터와 많은 분기가 있다고 가정 해 봅시다 : feature1, feature2, feature3 ...

$ git checkout feature1
$ git branch master-with-feature1
$ git checkout master-with-feature1
$ git merge master

언제든지 변경할 때마다 주인 또는 기능 1 체크 아웃 할 수 있습니다 Mas 그리고 그들을 합병하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top