Jika saya memodifikasi submodule, dapatkah saya mendorong komit kembali ke asal submodule, atau akankah itu memerlukan kloning? Jika clone, dapatkah saya menyimpan clone di dalam repositori lain?
git
git-submodules
webjay
sumber
sumber
git config push.recurseSubmodules on-demand
. Maka sederhanagit push
akan cukup untuk mendorong semuanya (repo utama dan submodula). Lihat jawaban saya yang diedit di bawah .Jawaban:
Sebuah submodule hanyalah klon dari repo git di dalam repo lain dengan beberapa data meta tambahan (entri pohon gitlink, file .gitmodules)
sumber
gh-pages
cabang untuk dokumentasi pada repo github :)Perhatikan bahwa sejak git1.7.11 ( [ANNOUNCE] Git 1.7.11.rc1 dan catatan rilis , Juni 2012) menyebutkan:
Mungkin dilakukan setelah tambalan ini dan
--on-demand
opsi:Jadi, Anda dapat mendorong semuanya sekaligus (dari induk repo) a:
Opsi ini hanya berfungsi untuk satu tingkat sarang. Perubahan pada submodule di dalam submodule lain tidak akan didorong.
Dengan git 2.7 (Januari 2016), dorongan git sederhana akan cukup untuk mendorong repo induk ... dan semua submodulanya.
Lihat komit d34141c , komit f5c7cd9 (03 Des 2015), komit f5c7cd9 (03 Des 2015), dan komit b33a15b (17 Nov 2015) oleh Mike Crowe (
mikecrowe
) .(Digabung oleh Junio C Hamano -
gitster
- dalam komit 5d35d72 , 21 Des 2015)The
git config
doc sekarang termasuk :Begitu:
Git 2.12 (Q1 2017)
git push --dry-run --recurse-submodules=on-demand
akan benar-benar bekerja.Lihat komit 0301c82 , komit 1aa7365 (17 Nov 2016) oleh Brandon Williams (
mbrandonw
) .(Digabung oleh Junio C Hamano -
gitster
- dalam komit 12cf113 , 16 Des 2016)Dan masih di Git 2.12, Anda sekarang memiliki
--recurse-submodules=only
opsi " " untuk mendorong submodula keluar tanpa mendorong proyek tingkat atas .Lihat komit 225e8bf , komit 6c656c3 , komit 14c01bd (19 Des 2016) oleh Brandon Williams (
mbrandonw
) .(Digabung oleh Junio C Hamano -
gitster
- dalam komit 792e22e , 31 Jan 2017)sumber