Folder submisi Git kosong ketika repo dikloning


130

Saya punya satu repo yang dihosting di https://github.com/aikiframework/json . Pada salinan lokal saya, saya menambahkan submodule menggunakan perintah

git submodule add git@github.com:jcubic/json-rpc.git json-rpc

Lalu saya melakukan komit dan tekan, dan perubahan muncul di GitHub (saya bisa mengkliknya). Tetapi ketika saya mengkloning repo

git clone https://github.com/aikiframework/json.git

folder submodule json-rpc kosong.

Apa yang kulewatkan di sini? Apakah saya lupa tentang sesuatu? Mengapa folder itu kosong?

Jawaban:


200

OK saya menemukannya, perlu ditambahkan --recursive ketika kloning repo.

Jadi perintah klon berakhir sebagai:

git clone https://github.com/aikiframework/json.git --recursive

229
Ya. Anda juga dapat mengambil submodules setelah fakta dengan git submodule update --init, jika Anda sudah dikloning tetapi lupa --recursive.
Amber

4
Hanya menghadapi masalah bahwa ada submodule pada mengembangkan cabang, tetapi belum pada cabang master. Ketika Anda mengkloning git repo menggunakan --recursive itu tidak akan menemukan submodule di cabang master, dan Anda harus mengambilnya menggunakan komentar Ambers "git submodule update --init" untuk mendapatkan juga subomdule.
d4Rk

11
Jika Anda menggunakan git submodule update --initAnda akan harus pergi ke setiap repo dan melakukan git checkout mastersebaliknya Anda akan mendapatkan kesalahan You are not currently on a branch.pada git pullsaat Anda mencoba untuk meng-update ke versi yang lebih baru.
Noitidart

@ Noitart apakah ada cara yang tidak melakukan itu? (setelah mengkloning proyek)
borgr

1
@Noitidart Terima kasih atas update --initpetunjuknya. Itu membantu ketika klon asli tidak ada --recursivedi dalamnya dan hanya ingin menarik submodula yang hilang.
Jari Turkia
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.