2016-08-02 2 views
2

방금 ​​git 하위 트리를 사용하기 시작했고 혼란 스러웠습니다.git 하위 트리에 커밋이 중복 될 수밖에 없습니까?

  1. "메인"리포 및 "서브 트리"리포가 있습니다.
  2. "기본"저장소에는 "하위 트리"저장소가 포함됩니다.

이 경우 제 질문은 입니다. '기본'repo는 선택의 여지가 있지만 커밋이 중복 되나요? '.

예를 들어 일부 커밋을 "기본"저장소에 푸시하고 "하위 트리 푸시"를 "하위 트리"저장소로 변경했다고 가정 해 봅니다.

"main"repo에서 'git subtree pull ~'명령을 실행하면 "main"에서 "subtree"로 푸시 한 모든 커밋이 "main"repo로 전달되고 "main" repo는 중복 된 커밋을 가져옵니다.

어쩔 수 없나요? 아니면 내가 실수를 했니?

답변

0

하나의 저장소를 다른 저장소로 통합하는 두 가지 다른 방법이 있습니다 : 하위 모듈과 하위 트리.

하위 트리는 모든 커밋을 대상 리포지토리에 "복사"하여 "자체적으로"살 수 있습니다.

하위 모듈은 다른 저장소의 커밋을 "참조"하여 작동합니다. "복사"는 필요하지 않지만 나중에 두 저장소에 모두 액세스해야합니다.

그렇습니다. 하위 트리가 커밋을 "복제"하는 것은 완전히 정상입니다.

관련 문제