Tarik submodul git setelah proyek kloning dari GitHub

90

Saya memiliki proyek yang telah menentukan submodul di dalamnya. Semuanya bekerja dengan baik di mesin dev. Saya telah melakukan .gitmodulesfile dan melanjutkan produksi. Namun itu tidak menarik submodul.

Jika saya masuk ke direktori submodul dan memanggil git pull, tidak ada yang terjadi.

Apa cara yang tepat untuk menarik submodul tersebut di proyek baru?

hsz
sumber

Jawaban:

142

Dari root repo jalankan saja:

git submodule update --init
Matt Cooper
sumber
8
Saya yakin ini benar-benar akan memperbarui dependensi Anda. Saya pikir S. Russel memiliki perintah yang benar dalam komentarnya di bawah ini:git pull --recurse-submodules
Spencer
37

Jika Anda perlu menarik barang untuk submodul ke dalam repositori submodul Anda, gunakan

git pull --recurse-submodules

Tapi ini tidak akan memeriksa komit yang tepat (yang ditunjuk oleh repositori master Anda) dalam submodul

Untuk melakukan checkout yang benar di submodul Anda, Anda harus memperbaruinya setelah menarik menggunakan

git submodule update --recursive
S. Rasel
sumber
1
git submodule update --recursiveadalah apa yang saya butuhkan setelah pertama kali git clonetapi lupa --recursivesaat pertama pergi. Terima kasih!
mbb
8
Ini sepertinya tidak berhasil untuk saya. Submodul tetap kosong.
CodeMonkey
@Codeon sama dengan saya.
linkerx
6
mungkin terlambat ke pesta tetapi bagi siapa pun yang berakhir di sini: git submodule update --init --recursiveselesaikan masalah saya
Iglesk
21

Jika ada submodul bersarang, Anda perlu menggunakan:

git submodule update --init --recursive
Iglesk
sumber