git을 사용하면 하위 트리를 하위 모듈이있는 외부 프로젝트를 병합하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/645019

문제

나는 내가 개발중인 웹 사이트와 관련된 모든 것에 대해 git 저장소를 사용하고 있습니다. 이 저장소에는 문서, 모형, 원래 계층 이미지 등을 포함하여 사이트와 관련된 모든 파일이 www 하위 디렉토리.

저는 프로젝트의 나머지 부분과 선택하기로 선택한 CMS를 통합하고 싶은 시점에 있습니다. CMS는 GIT와 함께 관리되는 오픈 소스 프로젝트입니다 (Github에서 호스팅됩니다. 분명히 CMS는 www 하위 디렉토리이지만 CSS 파일, 이미지, CMS 용 템플릿 등이 있습니다. 이로 인해 하위 트리 병합 전략을 사용하여 추가하기로 선택했습니다. 내 저장소에 대한 외부 프로젝트. 어느 시점에서 원래 프로젝트를 수정하고 변경 사항을 다시 기여할 수 있기 때문에 Github에서 CMS 저장소를 복제하고 클론에서 하위 트리 병합을 수행했습니다.

문제는 외부 프로젝트 (예 : CMS의 경우)에는 포함하려는 서브 모듈이 있습니다. 하위 모듈이 기본 프로젝트에 통합되어 있는지 확인하는 가장 좋은 방법은 무엇입니까? 각 하위 모듈에 대해 하위 트리 병합을해야합니까?

나는 하위 모듈을 수정하고 싶지는 않지만, 내가 원하는 하나 또는 두 개가있을 수 있습니다.

도움이 되었습니까?

해결책

git 하위 모듈 다른 프로젝트의 특정 체크 아웃이 포함되어 있으며 자동으로 최신 상태로 유지되지 않습니다. 따라서 CMS의 서브 모듈을 처리하는 가장 쉬운 방법은 원격 브랜치에서 나온 저장소를 추적하는 것입니다. 이렇게하면 서브 모듈에서 나온 프로젝트 변경 사항에 대해 정보를 얻을 수 있습니다.

하위 트리 병합을 사용하면 더욱 복잡해집니다 (아마도 까다로운 CMS 프로젝트에 변경 사항을 다시 제출하는 것이 올바른 단어입니다. 아마도 많은 변경 사항을 다시 제출할 것으로 예상되면 스크립트를 작성할 수 있습니다.

다른 팁

하위 트리 합병을 더 쉽게 수행하는 방법 (및 후속 분할이 다시 다시 나오기 때문에 패치를 상류로 제출할 수 있음)은 실험을 시도하는 것입니다. git 하위 트리 도구.

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