Git 2.23 (2019 년 3 분기) : 서브 모듈을 복제 하고 최신 버전으로 업데이트 하려는 경우 :
git clone --recurse-submodules --remote-submodules
기록 된 SHA1에서 복제하려는 경우 :
git clone --recurse-submodules
아래를 참조하십시오.
원문 답변 2010
코멘트에서 joschi가 언급 했듯이 git submodule
이제 --recursive
옵션 (Git1.6.5 이상)을 지원합니다 .
경우 --recursive
지정,이 명령은 등록 된 서브 모듈로 재귀 적 및 내에서 중첩 된 서브 모듈을 업데이트합니다.
초기화 부분에 대해서는 git 서브 모듈을 재귀 적으로 작업하기를 참조하십시오 .
자세한 내용은 git submodule
설명 을 참조하십시오 .
git 버전 1.6.5 이상에서는 다음 –-recursive
옵션을 사용하여 수퍼 프로젝트를 복제하여 자동으로 수행 할 수 있습니다 .
git clone --recursive git://github.com/mysociety/whatdotheyknow.git
자식 2.8 2016 업데이트 : 참조 " 자식 서브 모듈이 사용 / PARALLELIZE 다운로드 속도를 어떻게 git clone --recursive
? "
여러 스레드를 병렬로 사용하여 서브 모듈 가져 오기를 시작할 수 있습니다.
예를 들어:
git fetch --recurse-submodules -j2
Git 2.23 (Q3 2019)을 사용하면 하나의 명령으로 서브 모듈을 추적 분기에 복제하고 체크 아웃 할 수 있습니다!
Ben Avison ( )의 commit 4c69101 (2019 년 5 월 19 일)을 참조하십시오 . ( Junio C Hamano 에 의해 병합 - 커밋 9476094 , 2019 년 6 월 17 일)bavison
gitster
clone
: --remote-submodules
플래그 추가
사용하는 경우 git clone --recurse-submodules
패스 할 수있는 방법 이전에 없었다 --remote
암시로 전환 git submodule update
하면 서브 모듈 오히려 SHA-1 superproject에 기록보다 자신의 원격 추적 분기에 체크 아웃하고자하는 모든 사용 사례에 대한 명령.
이 패치는이 상황을 수정합니다.
실제로 통과 --no-fetch
에 git submodule update
잘 그들이 서브 모듈은 단지 복제 된 근거로, 원격 다시 단지에서 가져 오는 있도록 아래로 천천히 일을 제공합니다.
그 의미는:
--[no-]remote-submodules:
복제 된 모든 하위 모듈은 수퍼 프로젝트의 기록 된 SHA-1이 아니라 하위 모듈의 원격 추적 분기 상태를 사용하여 하위 모듈을 업데이트합니다. 로 전달하는 --remote
것과 같습니다 git submodule update
.
git clone --recurse-submodules --remote-submodules
(Q3 2019 Git 2.23) : 하나의 명령으로 서브 모듈을 복제 하고 업데이트 합니다. 아래의 수정 된 답변을 참조하십시오 .