BAIK. Jadi saya pikir saya telah menjilat ini ... tapi sekarang ....
Saya memiliki proyek yang menyertakan satu perpustakaan kecil dari GitHub sebagai submodul. Dalam versi asli proyek super itu, submodule berfungsi seperti yang diharapkan.
Namun, saya baru saja mengkloning superproject, melakukan apa yang saya pikir harus: "git submodule init", membuat direktori submodul muncul, tetapi direktori tersebut kosong.
Jika sekarang saya coba lakukan
git submodule update
saya mendapat
fatal: Needed a single revision
Unable to find current revision in submodule path 'external_libraries/BEACHhtml'
Jika saya mencoba
git submodule foreach git pull
saya mendapat
Entering 'external_libraries/BEACHhtml'
fatal: Where do you want to fetch from today?
Stopping at 'external_libraries/BEACHhtml'; script returned non-zero status.
Di .git / config saya, saya memiliki ini:
[submodule "external_libraries/BEACHhtml"]
url = [email protected]:interstar/BEACHhtml.git
Dalam .gitmodules saya, saya memiliki ini:
[submodule "external_libraries/BEACHhtml"]
path = external_libraries/BEACHhtml
url = [email protected]:interstar/BEACHhtml.git
Ada yang tahu apa yang kurang?
sumber
ext/blah
) dan folder yang cocok di bawahGIT_DIR
(.git/modules/ext/blah
).git submodule update
terus gagal di server CI saya karena ingin seseorang menerima kunci RSA (server ci biasanya menggunakan koneksi https dan ini adalah pertama kalinya submodule menarik koneksi ssh). Semoga ini menyelamatkan seseorang dari satu jam garukan kepala!Saya punya masalah ini (jaringan tidak stabil jadi saya terjatuh checkout submodule seperti ini) dan saya menyelesaikannya dengan membuat skrip ini (beri nama
git-submodule-fix
sehingga saya bisa menjalankannya sebagaigit submodule-fix
)Jika Anda mendapatkan ini, yaitu dari a
git submodule update
melakukan
sumber
Dipecahkan dengan menghapus 2 direktori dan mengambil kembali submodul:
external_libraries/BEACHhtml
dan lihat.git
file. Isinya harus sepertigitdir: ../../.git/modules/external_libraries/BEACHhtml
external_libraries/BEACHhtml
dan.git/modules/external_libraries/BEACHhtml
direktori.Mulai sekarang
git submodule update
berjalan tanpa kesalahan.sumber
git submodule init
sebelumnyagit submodule update
agar submodule diinisialisasi ulang, lalu ini akan berfungsi.Jika Anda membaca pada tahun 2019 atau lebih baru, perbarui saja klien git. Bekerja untuk saya.
sumber
gunakan alat diff untuk membandingkan klon asli yang berfungsi dan yang ini. Juga, apa
git submodule
outputnya. Pastikan Anda menunjuk ke cabang yang sama di setiap repo sebelum Anda melakukannya.Saya curiga Anda telah beralih ke cabang atau revisi lama di mana submodul tidak ditentukan.
semoga ini membantu
sumber
Saya memiliki masalah yang sama dengan submodul pada sebuah proyek. Ketika saya mencoba mengkloning submodul secara terpisah, itu bekerja dengan baik.
Saya sudah mencoba semua jawaban di atas, tetapi tidak berhasil (update git submodule, ..., menghapus folder submodule, ...).
Masalah menghilang setelah pembaruan git (dari Git-1.7.11-preview20120710) ke versi terbaru (ke Git-1.8.1.2-preview20130201) pada saat itu. Anehnya kolega saya memiliki versi yang lebih lama, bekerja tanpa masalah, tetapi mereka menggunakan Mac. Saya menggunakan Win7 64bit.
sumber