cawangan git: alat untuk kerjasama yang cekap
Artikel ini dikutip dari buku "Jump Start Git", yang boleh didapati secara percuma kepada ahli Premium SitePoint. Buku -buku fizikal boleh didapati di kedai buku utama di seluruh dunia, dan anda juga boleh memerintahkan mereka di sini. Semoga anda suka dan mendapat manfaat daripadanya!
Dalam Bab 1, saya bercakap tentang ketakutan awal saya untuk mencuba perkara -perkara baru dalam projek saya. Bagaimana jika anda mencuba beberapa ciri bercita -cita tinggi tetapi memecahkan bahagian yang sebelum ini berfungsi? Ciri cawangan Git sempurna menyelesaikan masalah ini.
Ringkasan mata utama
- Cawangan git membolehkan membuat salinan projek untuk bereksperimen tanpa menjejaskan projek asal. Jika percubaan berjaya, mudah untuk menggabungkan unsur -unsur eksperimen ke cawangan utama.
- Cawangan membenarkan pelbagai tugas diproses serentak tanpa mengganggu satu sama lain. Ini sangat berguna apabila menunggu kelulusan satu ciri sambil memerlukan memproses ciri lain. Cawangan juga boleh membuat kod lebih mudah difahami dengan memisahkan idea yang berbeza.
- Buat cawangan dalam git menggunakan perintah
git branch [分支名称]
. Tukar ke cawangan ini untuk menggunakangit checkout [分支名称]
. Memadam cawangan menggunakangit branch -D [分支名称]
, tetapi disyorkan untuk tidak memadam cawangan kecuali perlu. - Menggabungkan cawangan dalam Git adalah proses yang mudah. Selepas memastikan bahawa cawangan yang diperlukan aktif, gunakan arahan
git merge [分支名称]
. Walau bagaimanapun, ini boleh mewujudkan gelung dalam sejarah projek, yang sukar untuk menavigasi dalam pasukan besar. Bab seterusnya akan meneroka kaedah gabungan yang tidak membuat gelung.
Apa itu cawangan?
Mewujudkan cawangan baru dalam projek itu pada dasarnya bermakna membuat salinan projek. Anda boleh menggunakan salinan ini untuk mencuba tanpa menjejaskan projek asal. Jadi jika eksperimen gagal, anda boleh menyerahkannya dan kembali ke projek asal - cawangan utama.
Dan, kemudian, jika anda mengubah fikiran anda, anda boleh memulihkan dengan mudah ke keadaan projek sebelum bergabung.
Oleh itu, cawangan dalam Git adalah laluan pembangunan bebas. Anda boleh membuat komitmen baru di cawangan tanpa menjejaskan cawangan lain. Kemudahan penggunaan cawangan adalah salah satu ciri terbaik Git. (Walaupun pilihan kawalan versi lain (seperti CVS) juga mempunyai pilihan cawangan, pengalaman menggabungkan cawangan pada CVS sangat membosankan. Jika anda mempunyai pengalaman menggunakan cawangan dalam sistem kawalan versi lain, yakinlah bahawa menggunakan cawangan di Git adalah sama sekali berbeza. )Dalam git, anda berada di cawangan utama secara lalai. Nama "Master" tidak bermakna ia lebih unggul dalam apa cara sekalipun. Ini hanya pepatah konvensional.
NOTA: Perjanjian cawangan
Walaupun anda bebas menggunakan cawangan yang berbeza sebagai cawangan asas dalam Git, orang biasanya mengharapkan untuk mencari kod terkini untuk projek tertentu di cawangan utama.Anda mungkin berhujah bahawa tiada cawangan diperlukan kerana keupayaan untuk kembali kepada apa -apa komit. Tetapi bayangkan bahawa anda perlu menunjukkan kerja anda kepada penyelia anda sambil membangunkan ciri baru yang bukan sebahagian daripada kerja yang telah anda lakukan. Oleh kerana cawangan digunakan untuk memisahkan idea yang berbeza, ia menjadikan kod dalam repositori mudah difahami. Di samping itu, cawangan membolehkan anda mengekalkan komitmen penting hanya di Cawangan Master atau Master.
Satu lagi penggunaan cawanganialah mereka membolehkan anda mengendalikan pelbagai perkara pada masa yang sama tanpa mengganggu satu sama lain. Katakan anda menyerahkan Ciri 1 untuk semakan, tetapi ia akan mengambil sedikit masa untuk penyelia anda untuk mengkaji semula. Pada masa yang sama, anda perlu mengendalikan Fungsi 2. Dalam kes ini, cawangan itu berguna. Sekiranya anda mengusahakan idea baru anda di cawangan baru, anda boleh beralih ke cawangan anda pada bila -bila masa untuk memulihkan repositori ke keadaan terdahulu, yang tidak mengandungi sebarang kod yang berkaitan dengan idea anda.
Sekarang mari kita mula menggunakan cawangan di Git. Untuk melihat senarai cawangan dan cawangan semasa yang anda gunakan, jalankan arahan berikut:
<code>git branch</code>
Jika anda telah mengklonkan repositori anda atau menubuhkan repositori jauh, anda juga boleh melihat cawangan jauh. Tambah sahaja -a:
<code>git branch -a</code>
Seperti yang ditunjukkan di atas, cawangan merah menunjukkan bahawa ia terletak di repositori jauh. Dalam contoh kita, kita dapat melihat pelbagai cawangan yang wujud di repositori jauh asal.
Buat cawangan
Terdapat beberapa cara untuk membuat cawangan di Git. Untuk membuat cawangan baru dan simpan di cawangan semasa, jalankan arahan berikut:
di sini,
<code>git branch test_branch</code>adalah nama cawangan yang dicipta. Walau bagaimanapun, selepas berjalan
, nampaknya cawangan aktif masih merupakan cawangan utama. Untuk menukar cawangan aktif, kita boleh menjalankan perintah checkout (seperti yang ditunjukkan di bawah): test_branch
<code>git branch</code>
<code>git checkout test_branch</code>
anda juga boleh menggabungkan dua arahan di atas untuk membuat dan menyemak cawangan baru dalam satu arahan dengan menambah -b selepas perintah checkout:
<code>git checkout -b new_test_branch</code>Cawangan yang kami buat hanya berdasarkan komit terkini cawangan yang aktif (dalam hal ini cawangan utama). Jika anda ingin membuat cawangan (mis.

untuk menamakan semula cawangan semasa ke cafb55d
, jalankan arahan berikut: old_commit_branch
<code>git checkout -b old_commit_branch cafb55d</code>
Padam cawangan
Untuk memadam cawangan, jalankan arahan berikut: renamed_branch
<code>git branch</code>
NOTA: Jangan padamkan cawangan melainkan perlu
Oleh kerana sebenarnya tidak ada kelemahan untuk menjaga cawangan, saya cadangkan tidak memadamkannya kecuali bilangan cawangan di repositori menjadi terlalu besar untuk dikendalikan.pilihan
yang digunakan di atas akan memadam cawangan walaupun cawangan tidak disegerakkan dengan cawangan jauh. Ini bermakna jika anda mempunyai komit yang tidak ditolak di cawangan semasa anda, -D
masih akan memadamkan cawangan anda tanpa sebarang amaran. Untuk memastikan anda tidak kehilangan data, anda boleh menggunakan -D
sebagai alternatif kepada -d
. -D
Padam cawangan hanya jika mereka telah disegerakkan dengan cawangan jauh. Oleh kerana cawangan kami belum disegerakkan, mari kita lihat apa yang berlaku jika kita menggunakan -d
, seperti yang ditunjukkan di bawah: -d
seperti yang anda lihat, Git akan memberi amaran kepada anda dan membatalkan operasi kerana data tidak digabungkan dengan cawangan.
Cawangan dan kepala
Sekarang kita mempunyai peluang untuk mencuba asas -asas cawangan, mari kita luangkan masa untuk membincangkan bagaimana cawangan bekerja di Git dan memperkenalkan konsep penting: kepala.
Seperti yang disebutkan di atas, cawangan hanya hubungan antara komitmen yang berbeza, atau melalui jalan komit. Harus diingat bahawa apabila menggunakan cawangan, kepala cawangan menunjuk kepada komit terkini di cawangan. Saya akan menyebut kepala beberapa kali dalam bab -bab berikut. Di Git, kepala menunjukkan komitmen terkini di cawangan. Dalam erti kata lain, ia merujuk kepada bahagian atas cawangan.
Cawangan pada dasarnya adalah penunjuk kepada komitmen yang mempunyai komitmen ibu bapa, komitmen nenek, dan sebagainya. Rantai komit ini membentuk jalan yang saya nyatakan di atas. Jadi, bagaimana untuk menghubungkan cawangan dan kepala? Nah, bahagian atas kepala dan titik cawangan semasa untuk komit yang sama. Mari lihat carta untuk menggambarkan idea ini:
seperti yang ditunjukkan di atas, pada mulanya merupakan cawangan aktif, dan titik kepala untuk melakukan C. Commit a adalah komitmen asas, tanpa sebarang orang tua, jadi komitmen dalam
adalah E → D → B → A. Ketua menunjuk kepada komitmen terkini cawangan aktif branch_A
, iaitu, komit C. Apabila kita menambah komit, ia akan ditambah ke cawangan aktif. Selepas melakukan, branch_A
menunjuk kepada F, dan cawangan mengikuti F → C → B → A, sementara branch_B
tetap sama. Ketua kini menunjuk kepada F. Sekali lagi, apabila kita menambah komit lain, perubahan itu ditunjukkan dalam angka itu. branch_A
branch_A
branch_B
cawangan maju: gabungan cawangan
Seperti yang disebutkan sebelumnya, salah satu kelebihan terbesar Git adalah bahawa ia sangat mudah untuk menggabungkan cawangan. Sekarang mari kita lihat bagaimana ia dilakukan.
kami akan membuat dua cawangan baru - new_feature
dan another_feature
- dan menambah beberapa komitmen maya. Memeriksa sejarah setiap cawangan menunjukkan kepada kami bahawa cawangan another_feature
memimpin satu komit seperti berikut:
untuk menggabungkan
new_feature
<code>git branch</code>
untuk menggabungkan dengan
aktif): another_feature
new_feature
new_feature
Hasilnya boleh ditunjukkan dalam angka di bawah:
<code>git branch -a</code>
Petua penting: Perhatikan kitaran
Imej di atas menunjukkan bahawa gabungan ini mencipta gelung di dua komitmen dalam sejarah projek anda di mana aliran kerja menyimpang dan menumpu masing -masing. Gelung sedemikian mungkin tidak menjadi masalah apabila bekerja bersendirian atau dalam pasukan kecil. Walau bagaimanapun, dalam pasukan yang lebih besar - mungkin terdapat banyak komitmen sejak anda menyimpang dari cawangan utama - gelung besar ini menjadikannya sukar untuk menavigasi sejarah dan memahami perubahan. Kami akan meneroka cara untuk menggabungkan cawangan menggunakan perintah rebase tanpa membuat gelung dalam bab 6.
Tidak ada "konflik" dalam gabungan ini. Alasannya adalah mudah, tiada komitmen baru ditambah ke cawangan
berbanding dengan cawangan. Konflik dalam Git berlaku apabila bahagian yang sama dari fail yang sama diubahsuai dalam komitmen bukan awam di kedua-dua cawangan. Git melemparkan konflik untuk memastikan anda tidak kehilangan sebarang data.
another_feature
Satu lagi cara untuk menggabungkan cawangan adalah gabungan ke hadapan yang tidak pantas, dengan menambahkan new_feature
selepas perintah gabungan. Dengan cara ini, komit baru dicipta di cawangan asas dengan perubahan dari cawangan lain. Anda juga perlu menentukan mesej penyerahan:
<code>git branch</code>
Dalam contoh di atas, bekas (gabungan new_feature
dengan cawangan utama) adalah gabungan ke hadapan yang cepat, sementara yang terakhir adalah gabungan ke hadapan yang tidak pantas dengan komit gabungan.
Walaupun gabungan gaya ke hadapan cepat adalah lalai, biasanya lebih baik menggunakan kaedah ke hadapan yang tidak cepat untuk bergabung dengan gabungan ke cawangan utama. Dalam jangka masa panjang, mengenal pasti komitmen baru yang menggabungkan ciri -ciri baru mungkin bermanfaat kerana secara logiknya memisahkan bahagian kod yang bertanggungjawab untuk ciri -ciri baru menjadi satu komit.
Kesimpulan
Apa yang telah anda pelajari?
Dalam bab ini, kita membincangkan cawangan apa dan bagaimana untuk menguruskannya dalam Git. Kami melihat membuat, mengubahsuai, memadam, dan menggabungkan cawangan.
Apa yang akan datang?
Saya telah bercakap tentang bagaimana Git baik untuk pemaju yang bekerja dengan pasukan. Ini diterokai dengan lebih terperinci dalam bab seterusnya, serta operasi dan arahan Git tertentu yang sering digunakan dalam pasukan yang diedarkan.
Soalan Lazim Mengenai Cawangan Git
- Apakah tujuan utama cawangan git?
Cawangan Git adalah ciri yang kuat yang membolehkan pemaju membuat garis pembangunan berasingan. Ini amat berguna apabila berurusan dengan ciri -ciri baru atau pembetulan, kerana ia membolehkan anda mengasingkan kerja anda dari projek utama. Selepas ciri atau pembetulan selesai dan diuji, ia boleh digabungkan kembali ke projek utama. Ini memastikan bahawa projek utama tetap stabil dan membolehkan beberapa pemaju mengendalikan fungsi yang berbeza secara serentak tanpa mengganggu satu sama lain.
- Bagaimana untuk membuat cawangan baru di Git?
Mewujudkan cawangan baru di Git adalah mudah. Anda boleh menggunakan perintah <code>git branch</code> diikuti dengan nama cawangan baru. Sebagai contoh, git branch new_feature
akan membuat cawangan baru yang dipanggil "New_Feature". Untuk beralih ke cawangan ini, anda boleh menggunakan perintah git checkout
seperti berikut: git checkout new_feature
.
- Bagaimana untuk menggabungkan cawangan dalam git?
Gabungkan cawangan dalam git menggunakan perintah git merge
. Sebelum menggabungkan, anda perlu berada di cawangan yang anda mahu bergabung. Sebagai contoh, jika anda ingin menggabungkan cawangan bernama "New_Feature" ke dalam cawangan "Master", anda perlu beralih ke cawangan utama menggunakan git checkout master
dan kemudian gunakan perintah git merge new_feature
.
- Apakah penunjuk cawangan git dan bagaimana ia berfungsi?
penunjuk cawangan git adalah fail yang mengandungi hash sha1 komit yang ditunjukkannya. Apabila anda membuat cawangan baru, Git mencipta penunjuk baru dan menggerakkannya bersama -sama dengan setiap komit baru yang anda buat. Ini membolehkan Git mengesan sejarah projek.
- Bagaimana untuk memadam cawangan dalam git?
Padam cawangan dalam Git menggunakan arahan git branch -d
diikuti dengan nama cawangan. Sebagai contoh, git branch -d old_feature
akan memadam cawangan bernama "Old_Feature". Walau bagaimanapun, jika cawangan mempunyai komit yang tidak digabungkan ke cawangan lain, GIT akan menghalang anda daripada memadam cawangan. Untuk memaksa penghapusan, anda boleh menggunakan pilihan -D
.
- Apakah perbezaan antara penggabungan ke hadapan dan penggabungan tripartit di Git?
Fast forward gabungan dalam git adalah mungkin apabila terdapat laluan linear dari hujung cawangan semasa ke cawangan sasaran. Daripada membuat komit baru, Git menggerakkan penunjuk cawangan semasa ke cawangan sasaran. Sebaliknya, apabila tiada laluan linear, gabungan tripartit digunakan. GIT akan mewujudkan komit baru dengan dua ibu bapa, dengan berkesan menghubungkan kedua -dua cawangan.
- Bagaimana untuk melihat semua cawangan dalam repositori git?
anda boleh melihat semua cawangan dalam repositori git menggunakan perintah <code>git branch</code> tanpa parameter. Ini akan menyenaraikan semua cawangan tempatan. Jika anda juga ingin melihat cawangan jauh, anda boleh menggunakan pilihan -a
seperti berikut: <code>git branch -a</code>.
- Bagaimana untuk menamakan semula cawangan di Git?
Namakan semula cawangan dalam Git menggunakan arahan git branch -m
diikuti oleh nama lama dan baru. Sebagai contoh, git branch -m old_name new_name
akan menamakan semula cawangan "old_name" kepada "new_name".
- Apakah kepala pemisahan dalam git dan bagaimana untuk mengelakkannya?
Kepala yang disebarkan di Git berlaku apabila anda menyemak komit bukannya cawangan. Ini boleh berbahaya kerana apabila anda menyemak ke cawangan lain, sebarang perubahan yang anda buat akan hilang. Untuk mengelakkan ini, pastikan anda sentiasa menyemak cawangan dan bukannya melakukan.
- Bagaimana menyelesaikan konflik apabila menggabungkan cawangan di Git?
Apabila menggabungkan cawangan dalam Git, konflik mungkin berlaku jika bahagian yang sama dari fail yang sama diubah suai di kedua -dua cawangan. GIT akan menandakan fail sebagai "tidak diturunkan", anda perlu menyelesaikan konflik secara manual. Anda boleh melakukan ini dengan membuka fail dalam editor teks, mencari tanda konflik (), dan memutuskan perubahan yang perlu disimpan. Selepas semua konflik diselesaikan, anda boleh menambah fail menggunakan <code>git add
dan menyerahkannya menggunakan git commit
.
Atas ialah kandungan terperinci Lompat Mula Git: Bercabang di Git. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kebangkitan kuasa teknologi wanita Cina dalam bidang AI: kisah di sebalik kerjasama Honor dengan sumbangan wanita DeepSeek ke bidang teknologi menjadi semakin penting. Data dari Kementerian Sains dan Teknologi China menunjukkan bahawa bilangan pekerja sains wanita dan teknologi sangat besar dan menunjukkan kepekaan nilai sosial yang unik dalam pembangunan algoritma AI. Artikel ini akan memberi tumpuan kepada telefon bimbit menghormati dan meneroka kekuatan pasukan wanita di belakangnya menjadi yang pertama untuk menyambung ke model besar DeepSeek, menunjukkan bagaimana mereka dapat mempromosikan kemajuan teknologi dan membentuk semula sistem koordinat nilai pembangunan teknologi. Pada 8 Februari 2024, Honor secara rasmi melancarkan model besar versi penuh darah DeepSeek-R1, menjadi pengeluar pertama di kem Android untuk menyambung ke Deepseek, membangkitkan sambutan bersemangat dari pengguna. Di sebalik kejayaan ini, ahli pasukan wanita membuat keputusan produk, penemuan teknikal dan pengguna

DeepSeek mengeluarkan artikel teknikal mengenai Zhihu, memperkenalkan sistem inferensi DeepSeek-V3/R1 secara terperinci, dan mendedahkan data kewangan utama untuk kali pertama, yang menarik perhatian industri. Artikel ini menunjukkan bahawa margin keuntungan kos harian sistem adalah setinggi 545%, menetapkan keuntungan model AI besar global yang tinggi. Strategi kos rendah DeepSeek memberikan kelebihan dalam persaingan pasaran. Kos latihan modelnya hanya 1% -5% daripada produk yang serupa, dan kos latihan model V3 hanya AS $ 5.576 juta, jauh lebih rendah daripada pesaingnya. Sementara itu, harga API R1 hanya 1/7 hingga 1/2 OpenAIO3-Mini. Data -data ini membuktikan kelayakan komersil laluan teknologi DeepSeek dan juga mewujudkan keuntungan yang cekap model AI.

Pembinaan laman web hanyalah langkah pertama: kepentingan SEO dan backlinks Membina laman web hanyalah langkah pertama untuk mengubahnya menjadi aset pemasaran yang berharga. Anda perlu melakukan pengoptimuman SEO untuk meningkatkan keterlihatan laman web anda di enjin carian dan menarik pelanggan yang berpotensi. Backlinks adalah kunci untuk meningkatkan kedudukan laman web anda, dan ia menunjukkan Google dan enjin carian lain kuasa dan kredibiliti laman web anda. Tidak semua pautan balik bermanfaat: mengenal pasti dan mengelakkan pautan yang berbahaya Tidak semua pautan balik bermanfaat. Pautan yang berbahaya boleh membahayakan kedudukan anda. Pemeriksaan backlink percuma yang sangat baik memantau sumber pautan ke laman web anda dan mengingatkan anda tentang pautan yang berbahaya. Di samping itu, anda juga boleh menganalisis strategi pautan pesaing anda dan belajar dari mereka. Alat Pemeriksaan Backlink Percuma: Pegawai Perisikan SEO anda

Midea tidak lama lagi akan melepaskan penghawa dingin pertama yang dilengkapi dengan model besar DeepSeek - Midea Fresh and Clean Air Machine T6. Penghawa dingin ini dilengkapi dengan sistem memandu pintar udara maju, yang boleh menyesuaikan parameter dengan bijak seperti suhu, kelembapan dan kelajuan angin mengikut alam sekitar. Lebih penting lagi, ia mengintegrasikan model besar DeepSeek dan menyokong lebih daripada 400,000 arahan suara AI. Langkah Midea telah menyebabkan perbincangan yang hangat dalam industri, dan sangat prihatin terhadap kepentingan menggabungkan barangan putih dan model besar. Tidak seperti tetapan suhu mudah penghawa dingin tradisional, mesin udara segar dan bersih T6 dapat memahami arahan yang lebih kompleks dan samar -samar dan secara bijak menyesuaikan kelembapan mengikut persekitaran rumah, dengan ketara meningkatkan pengalaman pengguna.

DeepSeek-R1 memberi kuasa kepada Perpustakaan Baidu dan Netdisk: Integrasi Perfaikan dan Tindakan yang sempurna telah diintegrasikan dengan cepat ke dalam banyak platform dalam masa satu bulan sahaja. Dengan susun atur strategik yang berani, Baidu mengintegrasikan Deepseek sebagai rakan model pihak ketiga dan mengintegrasikannya ke dalam ekosistemnya, yang menandakan kemajuan besar dalam strategi ekologi "carian model besar". Platform Pintar Pintar Wenxin dan Wenxin adalah yang pertama menyambung ke fungsi carian Deep dari model besar DeepSeek dan Wenxin, yang menyediakan pengguna dengan pengalaman carian AI percuma. Pada masa yang sama, slogan klasik "Anda Akan Tahu Apabila Anda Pergi ke Baidu", dan versi baru aplikasi Baidu juga mengintegrasikan keupayaan model besar Wenxin dan Deepseek, melancarkan "AI Search" dan "Refinement Rangkaian Wide Rangkaian"

Pengimbas kelemahan rangkaian berasaskan GO ini dengan cekap mengenal pasti kelemahan keselamatan yang berpotensi. Ia memanfaatkan ciri konkurensi Go untuk kelajuan dan termasuk pengesanan perkhidmatan dan pemadanan kelemahan. Mari kita meneroka keupayaan dan etika

AI Prompt Engineering untuk Generasi Kod: Panduan Pemaju Landskap pembangunan kod bersedia untuk peralihan yang ketara. Menguasai model bahasa yang besar (LLM) dan kejuruteraan segera akan menjadi penting bagi pemaju pada tahun -tahun akan datang. Th


Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Dreamweaver Mac版
Alat pembangunan web visual

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),