IT

자식 서브 모듈과 서브 트리의 차이점

lottoking 2020. 3. 30. 08:54
반응형

자식 서브 모듈과 서브 트리의 차이점


자식 하위 모듈과 하위 트리를 사용하는 것의 개념적 차이점은 무엇입니까?

각각에 대한 일반적인 시나리오는 무엇입니까?


링크가 항상 외부 저장소의 헤드를 가리 키도록하려면 어떻게합니까?

다음을 사용하여 서브 모듈이 원격 모듈 리포지토리의 HEAD를 따르도록 서브 모듈을 만들 수 있습니다.

o git submodule add -b <branch> <repository> [<path>]. (따라서 분기를 지정하기 위해)
o git submodule update --remote서브 모듈의 내용을 <repository>/<branch>기본적으로 에서 최신 HEAD로 업데이트합니다 origin/master. 주 프로젝트는 여전히 --remote사용 되더라도 서브 모듈의 HEAD 해시를 추적합니다 .



하위 모듈은 링크입니다.

하위 트리는 복사입니다


개념적 차이는 다음과 같습니다.

자식 서브 모듈 당신은 일반적으로 작은 것들로 큰 저장소를 구분합니다. 하위 모듈을 참조하는 방법은 maven 스타일 입니다. 다른 (하위 모듈) 저장소에서 단일 커밋을 참조하고 있습니다. 서브 모듈 내에서 변경이 필요한 경우 서브 모듈 내에서 커밋 / 푸시를 수행 한 다음 기본 리포지토리에서 새 커밋을 참조한 다음 메인 리포지토리의 변경된 참조를 커밋 / 푸시해야합니다. 그렇게하면 완전한 빌드를 위해 두 저장소 모두에 액세스 할 수 있어야합니다.

자식 하위 트리사용하면 기록을 포함하여 다른 저장소를 통합 할 수 있습니다. 따라서 통합 후에는 저장소의 크기가 더 클 수 있으므로 저장소를 더 작게 유지하는 전략이 아닙니다. 통합 후에는 다른 리포지토리에 연결할 수 없으며 업데이트를 원하지 않으면 액세스 할 필요가 없습니다. 따라서이 전략은 코드 및 기록 재사용에 더 적합합니다. 개인적으로는 사용하지 않습니다.


서브 모듈
원격으로 메인 REPO을 눌러 하위 모듈의 파일을 밀어하지 않습니다

하위 트리
를 메인 리포지토리로 푸시하여 하위 트리의 파일을 원격 푸시

참고 URL : https://stackoverflow.com/questions/31769820/differences-between-git-submodule-and-subtree

반응형