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.