Rumah >Tutorial CMS >WordTekan >Menyerahkan patch ke teras WordPress: proses mencipta dan berkongsi perubahan

Menyerahkan patch ke teras WordPress: proses mencipta dan berkongsi perubahan

王林
王林asal
2023-08-31 14:25:01991semak imbas

Jika anda menggunakan WordPress untuk mencari nafkah dan menceritakan kisah anda, ia sangat mengujakan untuk melihat perubahan yang anda tulis ditambahkan pada pangkalan kod WordPress. Saya tahu ini untuk saya.

Dalam tutorial ini, anda akan mempelajari beberapa perkara mudah yang perlu anda ketahui untuk membuat tampung WordPress yang diterima oleh perisian teras.

Walaupun WordPress adalah perisian sumber terbuka yang boleh dimuat turun dan diubah suai oleh sesiapa sahaja, hanya segelintir penyumbang teras yang dapat melakukan perubahan mereka kepada WordPress itu sendiri. Jika anda ingin membuat perubahan pada fail teras WordPress, anda boleh membuat cadangan dengan membuat tiket yang memperincikan perubahan yang dicadangkan dan melampirkan patch, atau dengan melampirkan patch pada tiket sedia ada.

Fail patch atau diff ialah fail yang memperincikan perubahan yang telah anda buat pada kod sumber anda dan boleh digunakan oleh sistem kawalan versi seperti SVN atau GIT untuk menggunakan perubahan anda. Patch boleh dibuat dengan mudah daripada baris arahan atau melalui alatan GUI seperti SourceTree.

Dalam artikel ini, saya akan memperincikan cara menggunakan SourceTree aplikasi GIT GUI yang sangat baik untuk menyemak versi terkini WordPress dan mencipta fail tampalan. Jika anda lebih suka, anda boleh menggunakan alat GUI pilihan anda atau baris arahan.

Cari atau cipta tiket dalam Core Trac

Apabila anda menyerahkan tampalan ke teras WordPress, ia mesti dilampirkan pada tiket dalam penjejak isu WordPress (dipanggil trac). Oleh itu, langkah pertama dalam menyerahkan tampalan ialah mencari atau mencipta tiket.

Walaupun ada kemungkinan tiket baharu dengan ciri baharu akan diterima, ia tidak mungkin. WordPress mempunyai berjuta-juta pengguna, dan masuk akal bahawa pembangun utama akan berhati-hati untuk memperkenalkan ciri baharu. Hampir semua ciri baharu kini dibangunkan secara berasingan sebagai pemalam terlebih dahulu dan hanya digabungkan ke dalam teras selepas ujian dan pembangunan yang meluas.

Cara terbaik untuk mendapatkan tampalan diterima ialah membuat tampalan untuk tiket sedia ada. Baru-baru ini, jejak teras telah direka bentuk semula untuk memudahkan anda mencari tiket yang mempunyai pembetulan mudah dan kemungkinan besar akan disertakan dalam versi dan versi WordPress seterusnya.

Laporkan pepijat

Jika anda ingin mencipta tiket baharu dalam core trac (yang merupakan perkara yang bagus jika anda menemui pepijat baharu), anda boleh melakukannya di sini. Cuma pastikan anda mencari jejak untuk sebarang laporan isu yang sama sebelum membuat tiket baharu dan sahkan bahawa pepijat itu wujud dalam versi terkini WordPress.

Saya tidak bermaksud versi terkini, tetapi cabang induk dalam terminologi GIT atau trunk dalam terminologi SVN. Saya akan memperincikan cara mendapatkan versi terkini kemudian dalam tutorial ini.

向 WordPress 核心提交补丁:创建和共享更改的过程

Anda mesti mengisi ruang ringkasan (tajuk tiket) dan ruang penerangan, iaitu kandungan tiket. Dalam perihalan tiket anda, jadikan deskriptif yang mungkin.

Di bengkel penyumbang WordCamp Orlando 2013 yang saya hadiri, pembangun utama WordPress Mark Jaquith dan Andrew Nacin mencipta senarai laporan pepijat yang hebat ini:

  • Langkah untuk menghasilkan semula masalah (bermula dengan langkah terawal)
  • Perihalan ralat
  • Apa yang anda lihat berbanding apa yang anda jangkakan
  • Mesej ralat atau kod ralat
  • Ralat PHP (Apakah amaran pada halaman, apa yang muncul dalam log, adakah terdapat sebarang ralat JavaScript atau Apache/nginx?)
  • Pelayar apa?
  • Persekitaran (versi PHP anda, versi MySQL Apache atau nginx)
  • Adakah ini akan berlaku tanpa pemalam dan tema lalai?
  • Tangkapan skrin isu UI
  • Jelas dan ringkas
  • Mari kita ke intinya dahulu dan kemudian terangkan secara terperinci.
  • Nombor tiket yang berkaitan
  • Satu ralat setiap tiket
  • Tetapan Pautan Kekal
  • Berbilang tapak didayakan?
  • WP_DEBUG atau setara didayakan?
  • Peranan pengguna log masuk apabila masalah berlaku (atau tukar peranan dalam pangkalan data)

Perlu diingat bahawa tidak semua ini akan berkaitan dengan setiap ralat, tetapi lebih banyak maklumat berkaitan yang boleh anda tambahkan, lebih baik.

Melainkan anda pasti perkara yang ingin anda tetapkan di sana, anda harus meninggalkan medan yang diterangkan di bawah dan biarkan penyumbang teras menggunakannya untuk mengkategorikan tiket dengan sewajarnya. Saya syorkan menggunakan teg "Has Patch" atau "Needs Patch" bergantung pada sama ada anda melampirkan patch untuk membetulkan pepijat.

Lihat WordPress terbaharu daripada GitHub menggunakan alatan GUI

Sebelum membuat tampalan untuk sebarang tiket, adalah sangat penting untuk memiliki versi WordPress yang benar-benar terkini, kerana banyak perubahan dibuat padanya setiap hari. Melainkan anda menggunakan kod terkini, adalah mustahil untuk mengetahui sama ada pembetulan anda berjaya atau jika pepijat masih wujud. Jika tampalan anda mengubah suai kod yang telah ditukar, ia mungkin tidak diterima.

WordPress diurus dalam SVN, tetapi kod tersebut dicerminkan sebagai repositori GIT di dua lokasi:

  1. git://core.git.wordpress.org/
  2. git://core.git.wordpress.org/
  3. https://github.com/WordPress/WordPress

GitHub 存储库是最容易使用的。请记住,即使它是官方 GitHub 存储库,它仍然不用于问题跟踪,并且您不应向其提交拉取请求。

向 WordPress 核心提交补丁:创建和共享更改的过程

有多种方法可以通过 SVN 或 Git 获取最新版本的 WordPress。就我个人而言,我发现最简单的方法是使用出色的 GIT GUI 工具 SourceTree 来克隆 GitHub 镜像。这就像从文件菜单中选择“新建/克隆”一样简单,在“源路径/ URL”字段中输入 Git 存储库的地址,然后指定用于克隆的本地路径,该路径位于您的 XAMMP 或 Vagrant 内部测试环境。

说到 Vagrant,流行的 WordPress Vagrant 配置 VVV 已经为 WordPress 核心预配置了测试环境,包括最新代码和单元测试。

创建补丁文件

对 WordPress 进行了解决您尝试修复的问题所需的更改并测试了修复后,您需要创建一个补丁文件以上传到工单。 SourceTree 包含一种创建补丁文件的方法,或者您也可以使用命令行。

在 SourceTree 中,您可以通过转到工作副本并右键单击已更改的文件来创建补丁文件。从右键菜单中选择“创建补丁”。

向 WordPress 核心提交补丁:创建和共享更改的过程

或者,在终端中导航到 WordPress 存储库的根目录,然后使用以下命令创建差异:

git diff —非前缀 ~/name.path https://github.com/WordPress/WordPress

Repositori GitHub adalah yang paling mudah digunakan. Perlu diingat bahawa walaupun ia adalah repositori GitHub rasmi, ia masih tidak digunakan untuk penjejakan isu dan anda tidak sepatutnya menyerahkan permintaan tarik kepadanya.

Menyerahkan patch ke teras WordPress: proses mencipta dan berkongsi perubahan

Terdapat beberapa cara untuk mendapatkan versi terkini WordPress melalui SVN atau Git. Secara peribadi, saya dapati cara paling mudah untuk mengklonkan imej GitHub menggunakan alat GIT GUI SourceTree yang sangat baik. Ini semudah memilih Baharu/Klon daripada menu Fail, memasukkan alamat repositori Git anda dalam medan Laluan Sumber/URL, dan menentukan laluan setempat untuk klon, yang terletak di dalam persekitaran XAMMP atau Vagrant Test anda.

Bercakap tentang Vagrant, konfigurasi VVV WordPress Vagrant yang popular mempunyai persekitaran ujian pra-konfigurasi untuk teras WordPress, termasuk ujian kod dan unit terkini.

Buat fail tampalan

Selepas anda membuat perubahan pada WordPress yang diperlukan untuk menyelesaikan isu yang anda cuba betulkan dan telah menguji pembetulan, anda perlu membuat fail tampalan untuk dimuat naik ke tiket. SourceTree termasuk kaedah untuk membuat fail tampalan, atau anda boleh menggunakan baris arahan.

Dalam SourceTree anda boleh mencipta fail tampalan dengan pergi ke salinan kerja anda dan klik kanan pada fail yang diubah. Pilih "Buat Patch" daripada menu klik kanan.

Menyerahkan patch ke teras WordPress: proses mencipta dan berkongsi perubahan

Sebagai alternatif, navigasi ke akar repositori WordPress anda di Terminal dan buat perbezaan menggunakan arahan berikut:
git diff — bukan awalan ~/name.path Tidak kira bagaimana anda mencipta fail tampalan, anda harus menamakannya selepas nombor tiket sasarannya. Jika ini adalah tampung kedua yang dimuat naik ke tiket, tambahkan .2 pada penghujung nombor, jika ini adalah yang ketiga, tambahkan .3 dan seterusnya. Sebagai contoh, tampalan kelima untuk tiket #12358 akan dipanggil #12358.5🎜 🎜Muat naik patch ke Trac🎜 🎜Sekarang tampalan anda sudah sedia, anda perlu memuat naiknya ke tiket dalam jejak teras. Pada mana-mana tiket sedia ada, terdapat butang "Lampirkan Fail" di bawah penerangan yang boleh anda gunakan untuk memuat naik tampung. Pada skrin seterusnya, pastikan anda menambah penerangan tentang perkara yang dilakukan oleh tampung. 🎜 🎜Bersabar dan memahami🎜 🎜 WordPress ialah projek besar-besaran, jadi adalah tidak munasabah untuk mengharapkan respons segera kepada tampung anda. Selain itu, sila fahami bahawa standard untuk tampalan yang diserahkan kepada WordPress mestilah sangat tinggi untuk memberi perkhidmatan terbaik kepada semua pengguna. 🎜 🎜Selepas menghantar patch, sila bersabar dan memahami sebarang maklum balas yang anda terima. Pembangun utama sangat mudah didekati, jika anda mempunyai soalan tentang patch atau mengapa ia tidak diperbaiki, sila tanya salah seorang daripada mereka dalam saluran #wordpress-dev IRC. 🎜 🎜Walaupun mungkin mengecewakan untuk menunggu respons dan perlu membuat perubahan, adalah berbaloi apabila tampung anda diserahkan kepada WordPress dan penerangan set perubahan mengenali anda. 🎜 🎜🎜🎜🎜🎜

Atas ialah kandungan terperinci Menyerahkan patch ke teras WordPress: proses mencipta dan berkongsi perubahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn