2014-06-22 4 views
0

4 년 전부터 기존 프로젝트를 기반으로 새로운 독립 프로젝트를 만들었습니다. 둘 다 SVN repos에있었습니다. 하위 프로젝트는 맞춤 설정되었고 두 프로젝트는 내년에 독립적으로 발전했지만 여전히 공통된 코드가 많습니다.하위 프로젝트를 업데이트하는 방법은 무엇입니까?

작년에는 두 코드 저장소가 모두 Git으로 마이그레이션되었습니다. 하위 프로젝트 코드는 새로운 프로젝트보다 기능이 적고 개발이 적기 때문에 부모 코드의 일부로 업데이트해야합니다.

두 프로젝트를 (부분적으로) 동기화하기 위해 계속 진행하는 방법은 무엇입니까?

감사합니다.

답변

1

두 개의 개의 프로젝트가 있습니다. 버전 관리로하려는 일은 실제로 할 수 없습니다.

대신, 제 3의 repo에 저장된 라이브러리 밖으로 공유 조각을 증류 한 다음에 공유 비트를 포함하는 어떤 코드 재사용 메커니즘 언어 지원 (어떤 DLL을, 루비 보석, 펄 모듈)을 사용 각 프로젝트.

다시 말하지만 이것은 버전 제어 작업이 아니며 은 매우입니다. 버전 제어 시스템을 사용하면이 작업을 수행하는 데 많은 시간이 걸릴 수 있습니다.

+0

답변 해 주셔서 감사합니다. VCS가 그 일을위한 도구가 아니라는 것이 사실 인 것 같습니다. – manelvf

1

어떤 프로젝트인지에 따라 약간 다릅니다. 두 프로젝트의 공통 코드를 일반 코드 만 별도의 Git 저장소로 옮길 수 있다면 submodules을 사용하여 공통 코드를 다시 특정 프로젝트에 통합 할 수 있습니다. 그렇게하면 공통 코드에서 작업 할 수있는 장소가 하나 (별도) 밖에 없으므로 두 프로젝트 모두 해당 변경 사항을 가져 와서 변경 사항을 결정할 수 있습니다.

또 다른 옵션은 두 프로젝트를 단일 저장소로 이동하는 것입니다. 두 프로젝트가 매우 비슷한 경우 (예 : 상위 프로젝트와 일치하도록 하위 프로젝트를 업데이트 한 후)에 적용 할 수 있습니다. 따라서 자식 프로젝트는 개별적으로 변경 사항을 가져올 수있는 별도의 지점이됩니다. 또한 유용한 경우에 대비하여 하위 프로젝트에서 부모로 변경 사항을 가져올 수 있습니다.

+0

나는 나의 유스 케이스에 대한 두 번째 옵션을 더 좋아한다. 두 프로젝트 모두 여전히 매우 가깝기 때문에 서로 다른 지점과 동일한 저장소에 둘 다 갖춰야합니다. – manelvf

관련 문제