Git Lanjutan: Monorepo, Submodul dan Aliran Kerja · Pelajaran

Menolak Perubahan ke Hulu dengan Pecahan Subtree

Pelajari cara mengekstrak perubahan yang dibuat dalam subtree dan menolaknya kembali ke repositori hulu asal menggunakan git subtree split dan push.

Pelajaran 4 daripada 413 langkah

Menolak Perubahan ke Hulu dengan Pecahan Subtree ialah pelajaran Git Lanjutan: Monorepo, Submodul dan Aliran Kerja percuma di CoddyKit. Ini ialah pelajaran 4 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.

Aliran Kerja Pepohon Dua Hala

Pepohon bukan sekadar untuk membawa masuk kod. Salah satu kekuatannya ialah keupayaan untuk menyumbangkan perubahan kembali kepada projek asal. Hal ini menjadikan pepohon sebagai alat integrasi dua hala yang sebenar.

Perintah utamanya ialah git subtree push, yang dikuasakan secara dalaman oleh git subtree split.

Perkara yang Dilakukan oleh 'split'

git subtree split menelusuri sejarah anda dan menghasilkan cabang sintetik yang mengandungi hanya komit yang menyentuh awalan pepohon, ditulis semula seolah-olah folder itu ialah akar repositori.

Inilah yang menjadikan perubahan tersebut boleh digabungkan kembali ke huluan.

Imbas Kembali: Menambah Pepohon

Andaikan anda telah menambahkan pustaka huluan di bawah vendor/widget sebelum ini. Kini anda telah membuat penambahbaikan di situ dan mahu berkongsinya.

git subtree add --prefix=vendor/widget \
  https://example.com/widget.git main --squash

Mencipta Cabang Pecahan

Jalankan split untuk mencipta cabang yang hanya mengandungi sejarah pepohon, diubah asasnya kepada akar awalan.

git subtree split --prefix=vendor/widget -b widget-upstream

Memeriksa Pecahan

Daftar keluar cabang pecahan dan sahkan bahawa failnya berada di akar, bukan di bawah vendor/widget. Ini membuktikan penulisan semula itu berjaya.

git log --oneline widget-upstream
git ls-tree --name-only widget-upstream

Menolak dengan Cara Satu Langkah

Anda boleh melakukan pecahan dan penolakan dalam satu perintah. git subtree push melakukan pecahan secara dalaman dan menolak hasilnya ke repositori jauh serta cabang huluan.

git subtree push --prefix=vendor/widget \
  https://example.com/widget.git contrib-branch

Membuka Permintaan Tarik

Tolak ke cabang ciri pada fork yang anda kawal, kemudian buka permintaan tarik ke huluan. Komit pepohon anda akan muncul sebagai komit biasa pada projek tersebut dan sedia untuk disemak.

Mengekalkan Pecahan agar Pantas

Pada sejarah yang besar, split boleh menjadi perlahan kerana ia menelusuri semula komit. Pepohon mencache penulisan semula; menghantar --rejoin menulis komit gabungan supaya pecahan seterusnya bermula dari situ.

git subtree split --prefix=vendor/widget --rejoin

Mengelakkan Komit Campuran

Split hanya berfungsi dengan kemas apabila komit mempunyai skop yang jelas. Komit yang menyentuh kedua-dua pepohon dan kod aplikasi yang tidak berkaitan menjadi sukar dikendalikan di huluan. Pastikan perubahan pepohon berada dalam komit tersendiri yang berfokus.

Bila Perlu Menolak Kembali

Tolak ke huluan apabila pembaikan anda bersifat umum dan penyelenggara menerima sumbangan. Untuk pelarasan peribadi yang khusus kepada repositori, kekalkannya secara setempat dan jangan sekali-kali menolaknya kembali.

Menarik Balik Penerimaan Mereka

Selepas huluan menggabungkan sumbangan anda, tariknya kembali ke dalam pepohon supaya superprojek dan projek asal kembali sehala, lalu melengkapkan perjalanan pergi balik.

git subtree pull --prefix=vendor/widget \
  https://example.com/widget.git main --squash

Semakan Pantas

Uji pemahaman anda tentang pecahan dan penolakan pepohon.

Imbas Kembali

Anda telah mempelajari aliran kerja pepohon dua hala: split mengasingkan komit pepohon ke dalam cabang berakar awalan, push menghantarnya ke huluan dalam satu langkah, --rejoin mempercepatkan pecahan berulang, dan komit yang berfokus menjadikan sumbangan kepada huluan lebih kemas.

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 “Menolak Perubahan ke Hulu dengan Pecahan Subtree” percuma?

Ya — teks penuh “Menolak Perubahan ke Hulu dengan Pecahan Subtree” 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 “Menolak Perubahan ke Hulu dengan Pecahan Subtree”?

Pelajari cara mengekstrak perubahan yang dibuat dalam subtree dan menolaknya kembali ke repositori hulu asal menggunakan git subtree split dan push. 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 4 daripada 4.

Berapa lamakah pelajaran “Menolak Perubahan ke Hulu dengan Pecahan Subtree” 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. Pengenalan kepada Git Subtree
  2. Menambah dan Menggabungkan dengan Subtree
  3. Perbandingan Subtree dengan Submodul
  4. Menolak Perubahan ke Hulu dengan Pecahan Subtree
← Kembali ke Git Lanjutan: Monorepo, Submodul dan Aliran Kerja