2011-03-30 4 views
4

저는 여러 클라이언트에 대해 복제해야하는 웹 사이트를 개발했습니다. 각 클라이언트는 시각적 측면을 뛰어 넘는 사용자 지정을 원하며 프로필, 기본 설정 등으로 처리 할 수 ​​없습니다.일반적인 코드를 공유하는 힘내에서 여러 프로젝트를 추적하려면 어떻게해야합니까?

이 시나리오에서는 일반적인 코드를 사용하여 힘내에서 마스터 리포지토리를 작성한 다음 각 클라이언트마다 하나의 브랜치를 작성하고 싶습니다. 이렇게하면 모든 클라이언트 (지점)에서 개별적으로 변경하고 공통 변경 사항을 공유 할 수 있습니다 (마스터 사용).

이 방법이 맞습니까? 원격 지점과 별도로 이것을 처리 할 수있는 다른 방법이 있습니까?

감사합니다.

답변

3

이렇게하면됩니다.

공통 코드에서 클라이언트 코드로만 병합 할 수 있지만 클라이언트에서 공통으로 변경된 개별 변경 사항을 체리 선택할 수는 있습니다. 또한 공통 분기에서 클라이언트 분기로 코드를 가져 오는 데있어 정책이 어떻게 될지 생각해보십시오. 클라이언트 분기 코드가 지나치게 많지 않으면 클라이언트 변경 사항을 공통점 위에 다시 배치하는 것이 좋습니다. 업데이트 할 때마다 코드를 작성하십시오. 변경 사항이 많을수록 공통 코드를 병합하는 것이 훨씬 쉽습니다.

리바 싱 접근 방식을 사용하는 경우 자주 리베이스를 다루는 데 도움이되는 git rerere을 살펴보십시오.

1

저장소가 모든 공통 코드가 별도의 디렉토리에 존재하도록 구성되어 있다면 git-submodules를 사용하여이를 해결할 수 있습니다.

는 대신, 클라이언트 모든 사용자 지정 내가 그것을 우아하게이 문제를 해결하기 위해 하위 트리 병합-전략을 사용하는 것이 가능 생각 자신의 서브 디렉토리에 살고있는 경우라면.

관련 문제