Git Lanjutan: Monorepo, Submodul dan Aliran Kerja · Pelajaran

Submodul Bersarang dan Persediaan Kompleks

Terokai strategi untuk mengurus repositori yang mengandungi submodul sendiri serta mengendalikan kebergantungan berbilang peringkat.

Pelajaran 2 daripada 411 langkah

Submodul Bersarang dan Persediaan Kompleks ialah pelajaran Git Lanjutan: Monorepo, Submodul dan Aliran Kerja percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Git Lanjutan: Monorepo, Submodul dan Aliran Kerja, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Git Lanjutan: Monorepo, Submodul dan Aliran Kerja merangkumi sejumlah 4 pelajaran.

Apakah Submodul Bersarang?

Bayangkan sebuah repositori Git yang mengandungi repositori Git lain sebagai submodul. Sekarang, bayangkan bahawa submodul dalaman itu sendiri mengandungi submodul lain! Inilah persediaan submodul bersarang.

Ia seperti patung bersarang Rusia untuk kod anda, iaitu setiap patung (repositori) boleh mengandungi patung lain yang lebih kecil (submodul).

Mengapa Menggunakan Submodul Bersarang?

Submodul bersarang berguna untuk mengurus projek kompleks dengan kebergantungan yang mendalam:

  • Seni Bina Modular: Pecahkan sistem besar kepada komponen yang lebih kecil dan boleh digunakan semula.
  • Pustaka Dikongsi: Sesuatu komponen (submodul) mungkin bergantung pada pustaka utiliti umum (submodul bersarang).
  • Penyepaduan Pihak Ketiga: Sepadukan projek luaran yang turut mempunyai submodul.

Submodul ini membantu mengekalkan kod berkaitan bersama-sama sambil membolehkan pembangunan secara berasingan.

Menambah Submodul Tahap Pertama

Mari kita mulakan dengan mencipta projek utama dan menambah submodul biasa. Kita akan menamakan projek utama kita SuperApp dan submodul pertama Frontend.

Mula-mula, mulakan SuperApp dan tambahkan Frontend:

mkdir SuperApp
cd SuperApp
git init
git submodule add https://github.com/your-org/Frontend.git Frontend

Menambah Submodul Bersarang

Sekarang, kita akan masuk ke dalam submodul Frontend dan menambah satu lagi repositori, katakan UI-Components, sebagai submodul bersarang di dalamnya.

Ingat untuk membuat komit perubahan ini dalam kedua-dua submodul dan repositori induk:

cd Frontend
git submodule add https://github.com/your-org/UI-Components.git UI-Components
git add .
git commit -m "Add UI-Components submodule"
cd ..
git add Frontend
git commit -m "Update Frontend submodule with UI-Components"

Mengklon dengan Submodul Bersarang

Apabila seseorang mengklon repositori SuperApp anda, mereka perlu memberitahu Git secara jelas untuk memulakan dan mengemas kini semua submodul, termasuk submodul bersarang.

Bendera --recursive penting dalam hal ini:

git clone https://github.com/your-org/SuperApp.git
cd SuperApp
git submodule update --init --recursive

Menavigasi Submodul Bersarang

Untuk bekerja secara terus dalam submodul bersarang, anda hanya perlu menavigasi struktur direktorinya seperti mana-mana folder lain.

Contohnya, untuk mencapai UI-Components dari SuperApp:

cd SuperApp/Frontend/UI-Components
# Now you are inside the nested submodule

Mengemas Kini Submodul Bersarang

Jika repositori jauh untuk UI-Components (submodul bersarang) atau Frontend (submodul tahap pertama) menerima komit baharu, anda perlu mengemas kini salinan setempat anda.

Gunakan --remote untuk mendapatkan yang terkini daripada cabang penjejakan jauh, dan --recursive untuk menerapkannya pada semua tahap:

git submodule update --init --remote --recursive

Menyebarkan Perubahan ke Atas

Jika anda membuat dan melakukan komit perubahan dalam submodul bersarang (contohnya, UI-Components), anda kemudiannya mesti mengemas kini submodul induk (Frontend) supaya merujuk komit baharu ini. Akhir sekali, kemas kini repositori utama (SuperApp) supaya merujuk keadaan Frontend yang baharu.

  • Buat komit dalam UI-Components.
  • cd .. ke Frontend, git add UI-Components, git commit.
  • cd .. ke SuperApp, git add Frontend, git commit.

Ini memastikan semua repositori induk menjejaki keadaan yang betul.

Cabaran dengan Submodul Bersarang

Walaupun berkuasa, submodul bersarang boleh menimbulkan kerumitan:

  • HEAD Terpisah: Submodul sering berada dalam keadaan HEAD terpisah, iaitu anda tidak berada pada mana-mana cabang. Ingat untuk menyemak keluar sesuatu cabang jika anda bercadang untuk membuat komit.
  • Pengurusan Versi: Menjejaki SHA-1 komit tertentu merentasi berbilang tahap boleh menjadi rumit.
  • Masa Persediaan: Pengklonan dan pengemaskinian awal mungkin mengambil masa lebih lama disebabkan oleh berbilang repositori.

Semakan Pantas: Perintah Pengklonan

Anda baru sahaja mengklon repositori utama yang menggunakan submodul bersarang. Perintah apakah yang patut anda jalankan seterusnya untuk memastikan semua submodul, termasuk submodul bersarang, dimulakan dan dikemas kini dengan betul?

Ulang Kaji: Submodul Bersarang

Dalam pelajaran ini, kita meneroka submodul bersarang dan memahami cara mengurus repositori yang mengandungi submodul yang seterusnya mengandungi submodul lain.

  • Kita mempelajari cara menambah dan mengklon repositori dengan kebergantungan berbilang tahap.
  • Kita membincangkan cara menavigasi dan mengemas kini struktur kompleks ini.
  • Kita turut membincangkan cabaran serta kepentingan menyebarkan perubahan ke atas melalui hierarki.

Submodul bersarang ialah alat yang berkuasa untuk projek kompleks dan modular, tetapi memerlukan pengurusan yang teliti!

Percuma untuk bermula

Pelajari Git Lanjutan: Monorepo, Submodul dan Aliran Kerja dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Submodul Bersarang dan Persediaan Kompleks” percuma?

Ya — teks penuh “Submodul Bersarang dan Persediaan Kompleks” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Git Lanjutan: Monorepo, Submodul dan Aliran Kerja, tingkat taraf kepada CoddyKit PRO. Kursus Git Lanjutan: Monorepo, Submodul dan Aliran Kerja merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Submodul Bersarang dan Persediaan Kompleks”?

Terokai strategi untuk mengurus repositori yang mengandungi submodul sendiri serta mengendalikan kebergantungan berbilang peringkat. Anda berlatih Git Lanjutan: Monorepo, Submodul dan Aliran Kerja menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Git Lanjutan: Monorepo, Submodul dan Aliran Kerja?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Git Lanjutan: Monorepo, Submodul dan Aliran Kerja di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Submodul Bersarang dan Persediaan Kompleks” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Git Lanjutan: Monorepo, Submodul dan Aliran Kerja ini?

Ya. Setiap pelajaran Git Lanjutan: Monorepo, Submodul dan Aliran Kerja menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Bekerja dengan Cabang Submodul
  2. Submodul Bersarang dan Persediaan Kompleks
  3. Isu dan Pembetulan Submodul Lazim
  4. Menetapkan Submodul pada Tag dan Commit Tertentu
← Kembali ke Git Lanjutan: Monorepo, Submodul dan Aliran Kerja