mulai git versi 1.9.3 (Apple Git-50) di mac bagaimana cara menghapus submodul git? Saya membaca banyak informasi usang dengan banyak pengembang memberi tahu saya bahwa mereka tidak akan berfungsi. Bagaimana cara saat ini? akan git deinit pathToSubModule
melakukan triknya?
Langkah-langkah yang saya pikir akan berhasil ada di sini tetapi komentar mengatakan mereka tidak akan berhasil.
Izinkan saya menjelaskan situasi saya saat ini dan apa yang perlu saya capai. Saya telah menginstal repositori Cepat dan menambahkannya sebagai submodul ke proyek saya. Kode ini sudah diperiksa dan orang lain sedang menggunakannya. Apa yang sekarang perlu saya lakukan adalah membagi repositori Cepat yang sama dan menyimpannya di github yang lebih aman yang dimiliki perusahaan saya (jadi github pribadi yang sepenuhnya lain). Setelah bercabang, saya ingin menambahkan garpu itu sebagai gitSubmodule dan membiarkannya menggantikan submodul Cepat saat ini yang telah saya instal sebelumnya.
update: Saya telah membaca bahwa berikut ini adalah cara yang benar pada versi git terbaru, harap konfirmasi?
To remove a submodule added using:
git submodule add [email protected]:repos/blah.git lib/blah
Run:
git rm lib/blah
That's it.
For old versions of git (circa ~1.8.5) use:
git submodule deinit lib/blah
git rm lib/blah
git config -f .gitmodules --remove-section submodule.lib/blah
sumber
Jawaban:
Kamu punya
git submodule deinit
deinit
sumber
rm -rf <asubmodule>
jika Anda sudah memeriksa versi repositori dasar yang telah membatalkan pendaftaran submodul.Saya menggunakan Git versi 2.16.2 dan
git rm
melakukan sebagian besar pekerjaan dengan baik:Anda dapat memverifikasi dengan
git status
dangit diff --cached
bahwa ini membatalkan inisialisasi submodul dan mengubah.gitmodules
secara otomatis. Seperti biasa, Anda perlu melakukan perubahan.Namun, meskipun submodule dihapus dari kontrol sumber,
.git/modules/path-to-submodule
masih berisi repositori submodul dan.git/config
berisi URL-nya, jadi Anda masih harus menghapusnya secara manual:Menyimpan repositori dan konfigurasi submodule disengaja sehingga Anda dapat membatalkan penghapusan dengan mis
git reset --hard
.sumber
Cara menghapus submodul dengan aman.
(menambahkan ke https://stackoverflow.com/a/1260982/342794 )
Buat daftar dan cari bagian submodule dalam
.gitmodules
file. Ucapkan melalui terminalvi .gitmodules
. Contoh:Submodul dapat digunakan dengan garpu lokal. Untuk proyek yang berjalan lama, kode mungkin berbeda dari repo asli dan mungkin ada beberapa perbaikan. Sebaiknya verifikasi apakah kode submodule mengalami perubahan selama proyek berlangsung. Contoh: Lihat log, jika mengarah ke
master
cabang atau cabang lokal. menjelajahi log git untuk menemukan modifikasi yang dilakukan melalui terminal. biasanya ini disimpan di bawah direktori, contoh saya, di bawahsubmodules
direktori.Hapus bagian submodule dari .gitmodules, simpan file. Contoh:
git status
harus menampilkan hanya yang berikut sebagai diubahPanggung perubahan dengan
git add .gitmodules
.Buat daftar dan temukan bagian submodule dalam
.git/config
file. Ucapkan melalui terminalvi .git/config
. Contoh:Hapus file sobmodule git cache. berjalan
git rm --cached submodules/afnetworking
(tanpa garis miring) akan berhasil menghapusnya. Contoh:Hapus file submodule di bawah
.git
direktori denganrm -rf .git/modules/...
. Konfirmasikan dengangit status
setelahnya.Lakukan perubahan. Konfirmasikan dengan
git status
setelahnya.Hapus file submodul yang tidak terlacak.
Hapus referensi dari proyek Xcode. Buat, perbaiki masalah kompilasi dan runtime.
sumber