2013 년 3 월 업데이트
Git 1.8.2 는 분기를 추적 할 수있는 가능성을 추가했습니다.
" git submodule
" (수퍼 프로젝트의 gitlink에 기록 된 커밋과 통합하는 것과는 대조적으로) 원격 브랜치의 팁과 통합 하기위한 새로운 모드를 배우기 시작했습니다 .
# add submodule to track master branch
git submodule add -b master [URL to Git repo];
# update your submodule
git submodule update --remote
하위 모듈이 이미 있는 경우 이제 분기를 추적하고 싶을 것 입니다. " 기존 하위 모듈을 분기로 추적하는 방법 "을 참조하십시오 .
하위 모듈에 대한 일반 정보는 하위 모듈에 대한 Vogella의 자습서를 참조하십시오 .
노트 :
git submodule add -b . [URL to Git repo];
^^^
참조 git submodule
맨 페이지를 :
하위 모듈의 분기 이름이 현재 저장소의 현재 분기와 동일한 이름.
을 나타 내기 위해 특수 값 인를 사용합니다 .
commit b928922727d6691a3bdc28160f93f25712c565f6 참조하십시오 :
submodule add
: --branch
주어진 경우에 기록하십시오.gitmodules
이를 통해 새 하위 모듈을 추가 할 때 submodule.<name>.branch
옵션 을 쉽게 기록 .gitmodules
할 수 있습니다. 이 패치로
$ git submodule add -b <branch> <repository> [<path>]
$ git config -f .gitmodules submodule.<path>.branch <branch>
로 줄이다
$ git submodule add -b <branch> <repository> [<path>]
이것은 미래에 전화를
$ git submodule update --remote ...
하위 모듈을 초기화하는 데 사용한 것과 동일한 분기에서 업데이트를 얻습니다. 일반적으로 원하는 것입니다.
서명 : W. Trevor King
원래 답변 (2012 년 2 월) :
서브 모듈은 부모 저장소가 참조하는 단일 커밋입니다.
자체 Git 저장소이므로 "모든 커밋 기록"은 git log
해당 하위 모듈 내에서 액세스 할 수 있습니다 .
따라서 부모가 하위 모듈의 특정 분기에 대한 최신 커밋을 자동으로 추적하려면 다음이 필요합니다.
- 서브 모듈의 cd
- git fetch / pull을 사용하여 오른쪽 분기에 최신 커밋이 있는지 확인하십시오.
- 부모 리포지토리로 돌아 가기
- 서브 모듈의 새로운 커밋을 기록하기 위해 추가하고 커밋합니다.
커밋 작업을 포함하여 gitslave (이미 살펴 보았습니다)가 가장 적합 합니다 .
올바른 서브 모듈 분기를 체크 아웃하고 변경하고 커밋 한 다음 수퍼 프로젝트로 이동하여 커밋을 커밋 (또는 적어도 새로운 위치를 기록해야 함)하여 서브 모듈을 변경하는 것은 약간 성가신 일입니다. 하위 모듈).
다른 대안이 여기 에 자세히 설명되어 있습니다 .