Git Submodule
memungkinkan Anda menyematkan repositori Git ke dalam repositori Git lain sebagai subdirektori. Ini berguna saat Anda memiliki proyek yang bergantung pada pustaka atau komponen eksternal. Berikut adalah panduan dasar tentang cara menggunakan Git Submodule
:
Menambahkan Submodule
Untuk menambahkan a Submodule
ke repositori saat ini, arahkan ke direktori root repositori dan jalankan perintah berikut:
git submodule add <URL_repository> <destination_path>
di mana <URL_repository>
URL repositori yang ingin Anda sematkan, dan <destination_path>
merupakan jalur ke subdirektori di repositori saat ini untuk menyimpan file Submodule
.
Klon Submodule
Setelah Anda menambahkan a Submodule
ke repositori, Anda perlu mengkloningnya ke dalam repositori yang ada. Untuk mengkloning Submodule
, jalankan perintah berikut:
git submodule init
git submodule update
Perintah git submodule init
menginisialisasi Submodule
dan membuat tautan ke repositori yang berisi Submodule. Perintah git submodule update
mengunduh kode sumber Submodule
dan memperbaruinya ke dalam subdirektori yang sesuai
.
Bekerja dengan Submodule
Setelah Submodule
dikloning ke dalam repositori, Anda dapat menggunakannya sebagai repositori Git independen. Anda dapat checkout cabang, make commits
, dan Push di dalam Submodule
.
Untuk memperbarui Submodule di repositori yang ada, jalankan perintah:
git submodule update --remote
Perintah ini mengunduh perubahan terbaru dari Submodule
repositori dan memperbaruinya di subdirektori terkait.
Menghapus Submodule
Jika Anda tidak lagi memerlukan Submodule
, Anda dapat menghapusnya dengan menjalankan perintah berikut:
git submodule deinit <submodule_name>
git rm <submodule_path>
Ganti <submodule_name>
dengan nama Submodule
dan <submodule_path>
dengan path ke subdirektori yang berisi file Submodule
. Kemudian, Anda perlu melakukan dan mendorong perubahan ini.
Git Submodule
membantu Anda mengelola dependensi dan mengintegrasikan subrepositori ke dalam proyek utama Anda dengan mudah. Ini memungkinkan Anda untuk mempertahankan kode sumber terpisah untuk Submodule
dan memperbaruinya dengan mudah bila diperlukan.