기대하는 바에 따라이를 수행하는 방법에는 두 가지가 있습니다.
- 하위 모듈을 하위 모듈로 추가합니다. 레포지는 독립적으로 유지됩니다.
- 이 서브 페인의 하위 트리로 하위 repo를 추가하십시오. 그것의 역사는 합병된다
을 위해, 당신은 git submodule을 사용하고 싶다. 특히, (이미 자식 초기화로 초기화) 당신의 한모금 디렉토리에서
당신은 실행는 한모금의 repo에 하위의 repo를 복제 할 위치의 서브
자식 서브 모듈을 추가 할 수 있습니다. 하위 repo가 다른 위치에 있으면 제거 할 수 있습니다.
하위 모듈은 여전히 상단 저장소와 다른 저장소로 작동합니다.
https://git-scm.com/book/en/v2/Git-Tools-Submodules
가 2의 경우는 좀 더 복잡하다 :
은 하위 모듈에 대한 설명서를 참조하십시오.
먼저 당신은 다른 REPO의 커밋을 가져 오기 : # add remote git remote add sub # fetch commits git fetch # create local branch with sub git checkout -b sub_branch sub/master # switch to master git checkout master # now, merge commit as a subdirectory git read-tree --prefix=sub/ -u sub_branch
나중에 하위에서 끌어 유지할 수 있습니다, 그것은 한모금에 병합됩니다
--dmg
출처
2016-06-13 06:12:50
dmg
'원격 하위 서브를 추가 이눔 '; 'git fetch sub'. 그런 다음 로컬 디렉토리 하위를 삭제해야합니다. 또한 자식 로그를 예약해야하는 경우 'git merge -s ours --no-commit'을 사용해야합니다. –
미덕을 강조하는 많은 기사를 읽습니다. ** 하위 트리 **는 ** 하위 모듈 **을 가졌지 만 궁극적으로는 v1 서적에 설명 된 _convulated_ 패러다임을 채택하기 위해 많은 시간을 낭비했습니다. v2 책은 복잡성에 대한 모호한 언급을하지만 문제를 설명하지는 않습니다. 마스터 하위 트리에서 병합 된 변경 사항을 브랜치로 푸시하면 브랜치의 업스트림 저장소에 참조 된 항목을 포함하여 로컬 리포지토리의 모든 개체 *가 생깁니다 작성자 : _master_. – bvj