Bagaimana saya menambah submodule ke repositori git saya?
Langkah -langkah untuk menambah submodul ke repositori git adalah seperti berikut: 1. Gunakan Submodule Git Tambah [url] [Path] perintah untuk menambah submodule, yang akan mengklon repositori dan membuat fail .gitmodules; 2. Apabila mengkloning repositori submodule, anda perlu menjalankan kemas kini submodule git -init -recursive untuk memulakan dan mengemas kini submodule; 3. Anda boleh menentukan jejak cawangan tertentu melalui pilihan -B, dan gunakan kemas kini submodule git -Remote untuk mengemaskini ke komit cawangan terkini. Di samping itu, submodul mempunyai direktori bebas. Menguasai langkah -langkah ini secara berkesan dapat mengurus submodul dan mengelakkan kesilapan yang sama.
Menambah submodule ke repositori git anda adalah cara untuk memasukkan projek git lain di dalam anda sebagai subdirektori. Ini membantu mengekalkan perkara yang dianjurkan dan membolehkan anda menjejaki versi tertentu projek luaran. Inilah caranya.
Perintah Asas: git submodule add
Cara yang paling mudah untuk menambah submodul adalah menggunakan perintah git submodule add
diikuti oleh URL repositori luaran yang anda ingin sertakan.
Contohnya:
git submodule tambah https://github.com/example/some-library.git Path/to/submodule
Ini akan:
- Klon repo luaran ke
.git/modules/path/to/submodule
- Buat direktori kerja di
path/to/submodule
di repo utama anda - Tambahkan fail
.gitmodules
(jika belum ada) yang memetakan laluan submodule ke URL jauhnya
Anda kemudian boleh melakukan perubahan ini seperti biasa, dan yang lain yang mengklon repo anda akan mendapat persediaan submodule juga - walaupun mereka perlu mengambil satu langkah tambahan (lebih lanjut pada kemudian).
Memulakan dan mengemas kini submodul
Selepas seseorang mengikat repo anda, direktori submodule akan kosong kecuali mereka berlari:
git submodule init Kemas kini submodul git
Atau lebih mudah:
Kemas kini submodule git -init
Ini menarik versi submodul yang betul berdasarkan apa yang dilakukan dalam repo utama anda.
Sekiranya anda menyediakan repo yang sudah mempunyai submodul, berjalan:
Kemas Kini Submodule Git -Init -Recursive
adalah pertaruhan yang selamat, terutamanya jika terdapat submodul bersarang yang terlibat.
Menjejaki cawangan tertentu (pilihan tetapi berguna)
Secara lalai, submodule menunjuk kepada komit tertentu (bukan cawangan). Ini bermakna walaupun repo jauh berubah, submodul anda tetap disematkan pada versi yang anda tambah.
Tetapi jika anda mahu submodule anda mengikuti cawangan (seperti main
atau develop
), gunakan pilihan -b
semasa menambahkannya:
git submodule add -b dev https://github.com/example/some-library.git Path/to/submodule
Kemudian, untuk menarik yang terbaru dari cawangan itu kemudian:
Kemas kini Submodul Git -Remote
Ini menyimpan submodule yang diselaraskan dengan hujung terkini cawangan dan bukannya komited tetap.
Hanya sedar - ini menjadikan repo anda bergantung pada apa yang ada sekarang di cawangan itu, yang mungkin memperkenalkan ketidakstabilan jika tidak diuruskan dengan teliti.
Gotchas biasa
- Folder
.git/modules
.git
.git
- Mengemas kini submodul: Jika anda membuat perubahan di dalam submodul, anda mesti melakukan dan menolak dari dalam direktori submodule.
- Mengeluarkan submodul: Ia tidak semudah
rm
. Anda perlu deinitialize dan mengeluarkan entri dari.gitmodules
dan.git/config
.
Itulah alur kerja teras untuk menambah dan menguruskan submodul. Tidak terlalu buruk apabila anda tahu arahan, tetapi mudah untuk pergi jika anda baru.
Atas ialah kandungan terperinci Bagaimana saya menambah submodule ke repositori git saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Untuk menambah subtree ke repositori git, mula-mula tambahkan repositori jauh dan dapatkan sejarahnya, kemudian gabungkannya ke dalam subdirektori menggunakan arahan Gitmerge dan Gitread-tree. Langkah-langkah adalah seperti berikut: 1. Gunakan perintah Gitremoteadd-F untuk menambah repositori jauh; 2. Jalankan gitmerge-srecursive-no-commit untuk mendapatkan kandungan cawangan; 3. Gunakan Gitread-Tree-Prefix = untuk menentukan direktori untuk menggabungkan projek sebagai subtree; 4. Mengemukakan perubahan untuk melengkapkan penambahan; 5. Apabila mengemas kini, gitfetch terlebih dahulu dan ulangi penggabungan dan langkah -langkah untuk menyerahkan kemas kini. Kaedah ini mengekalkan sejarah projek luaran lengkap dan mudah dikekalkan.

Ya, anda boleh menggunakan arahan untuk membuat dan beralih ke cawangan git baru, kaedah khusus adalah seperti berikut: 1. Gunakan Gitswitch-C: Ini adalah cara yang lebih moden dan jelas, sebagai contoh, gitswitch-cnew-feature akan mencipta dan beralih ke cawangan bernama baru; 2. Gunakan Gitcheckout-B: Ini adalah kaedah yang lebih tua tetapi biasa digunakan, sebagai contoh, Gitcheckout-Bnew-feature mempunyai kesan yang sama seperti yang pertama. Nota: Gitswitch diperkenalkan dalam GIT2.23, dan versi lama perlu menggunakan gitcheckout. Anda boleh menentukan cawangan berdasarkan cawangan lain, seperti gitswitch-cnew-

Gunakan Gitmerge --No-FF untuk memaksa Git untuk membuat gabungan komitmen, walaupun anda boleh maju ke hadapan. 1. Gunakan parameter --no-FF untuk memelihara sejarah cawangan dan menjelaskan sumber perubahan; 2. Kaedah ini amat berguna semasa kajian semula kod atau pengauditan, dan sering digunakan dalam strategi cawangan yang ketat seperti gitflow; 3. Operasi ini boleh automatik dengan mengkonfigurasi alias atau skrip, seperti gitconfig-globalalias.merge-noff '! Gitmerge-no-ff', dengan itu memudahkan proses.

TOCLEANLEMOVEAGITSUBMODULE, FirstDeinitializeitWithGitsubModuledeinit-fpath/to/submodule, thendeleteitsfilesviarmarm-rf.git/modu les/path/to/submoduleandgitrm-fpath/to/submodule, dan finallyremoverelatedentriesfrom.git/configand.gitmodulesbefeforeCommittingt

Rungitreflog-tarikh = localToviewRecentReferenceChangesandlocatethedeletedeletedbranchbyitsnameorcommithash.2.identifyTheCommithashushbeforethe "deletedbranch" mesej

Kaedah untuk menetapkan nama pengguna dan peti mel Git adalah menggunakan gitconfig-globaluser.name dan gitconfig-globaluser.email perintah untuk mengkonfigurasi maklumat identiti di seluruh dunia. Langkah-langkah khusus adalah seperti berikut: 1. Tetapkan nama pengguna: Jalankan gitconfig-globaluser.name "YourName"; 2. Konfigurasi peti mel: Jalankan gitconfig-globaluser.email "your.email@example.com"; 3. Sahkan tetapan: lulus gitconfiguser.name dan gitco

UsegitmergetopreserveHistoryandcollaborasifely, terutama sekali

Untuk membatalkan komit yang telah ditolak ke repositori tetapi menyimpan sejarah, gunakan Gitrevert untuk mewujudkan komit baru untuk membalikkan perubahan kepada komit yang ditentukan. 1. Gunakan gitlog-eleline untuk mencari nilai hash sasaran komit; 2. Melaksanakan Gitrevert atau seperti Gitreverthead ~ 2 untuk membatalkan komit tertentu; 3. Jika terdapat konflik, menyelesaikannya secara manual dan teruskan dengan Gitrevert-berterusan, atau membatalkan; 4. Maklumat penyerahan boleh diedit dan disahkan; 5. Bagi komitmen yang digabungkan, parameter -M1 perlu ditambah. Kaedah ini selamat untuk cawangan bersama dan mengelakkan masalah yang disebabkan oleh penulisan semula sejarah.
