Git 2.23 (3Ç 2019): Alt modülleri klonlamak ve en son revizyonuna güncellemek istiyorsanız :
git clone --recurse-submodules --remote-submodules
Sadece kayıtlı SHA1'lerinde klonlamak istiyorsanız:
git clone --recurse-submodules
Aşağıya bakınız.
Orijinal cevap 2010
Joschi'nin yorumlarda belirttiği gibi , git submodule
şimdi --recursive
seçeneği (Git1.6.5 ve daha fazlası) desteklemektedir.
Eğer --recursive
belirtilirse, bu komut kayıtlı submodules içine recurse ve içinde herhangi bir iç içe submodules güncelleyecektir.
Başlangıç bölümü için Git alt modülleriyle özyinelemeli çalışma konusuna bakın .
Daha fazla bilgi için git submodule
açıklamaya bakın .
Git 1.6 ve sonraki sürümlerde, süper projeyi aşağıdaki –-recursive
seçenekle klonlayarak otomatik olarak yapabilirsiniz :
git clone --recursive git://github.com/mysociety/whatdotheyknow.git
2016'yı git 2.8 ile güncelleyin: " Git alt modüllerinin indirilmesi nasıl kullanılır / hızlandırılır git clone --recursive
? " Konusuna bakın.
Paralel olarak birden çok iş parçacığı kullanarak alt modülü getirmeye başlayabilirsiniz.
Örneğin:
git fetch --recurse-submodules -j2
Daha da iyisi, Git 2.23 (Q3 2019) ile, alt modülü tek bir komutta izleme dallarına kopyalayabilir ve kontrol edebilirsiniz!
Bkz. Taahhüt, 4c69101 (19 Mayıs 2019), Ben Avison ( bavison
) .
(Göre Birleştirilmiş - Junio Cı Hamano gitster
- içinde 9.476.094 tamamlama 2019 17 Haz)
clone
: --remote-submodules
bayrak ekle
Kullanırken , alt modüllerin süper projede kaydedilen SHA-1 yerine uzaktan izleme dallarında kontrol edilmesini istediğiniz herhangi bir kullanım durumu için örtük komuta git clone --recurse-submodules
geçmenin bir yolu yoktu .--remote
git submodule update
Bu yama bu durumu düzeltir.
Aslında geçer --no-fetch
için git submodule update
de onlar alt modülü sadece klonlanmış gerekçesiyle olarak, uzaktan yine sadece gelen getirilirken böylece aşağı yavaş şeyler görür.
Bunun anlamı:
--[no-]remote-submodules:
Klonlanan tüm alt modüller, süper projenin kayıtlı SHA-1'i yerine alt modülü güncellemek için alt modülün uzaktan izleme dalının durumunu kullanacaktır. Geçen eşdeğerdir --remote
için git submodule update
.
git clone --recurse-submodules --remote-submodules
(Q3 2019 Git 2.23) olacaktır: bir modülde alt modları klonlayacak ve güncelleyecektir . Bkz aşağıda benim Düzenlenen cevabı .