Panduan ini menyediakan gambaran asas untuk memohon patch ke program atau fail.
Perintah yang digunakan untuk memohon patch adalah perintah patch tetapi untuk memohon patch perintah diff juga perlu digunakan untuk membekalkan perbezaan yang perlu ditambal.
Kenapa Anda Membuat Patch
Bayangkan anda mempunyai fail HTML seperti berikut:
head>
Selamat Datang Ke MySite h1>
body>
html>
Sumber di atas apabila dimasukkan ke dalam penyemak imbas web akan menunjukkan perkataan "Selamat datang ke MySite".
Ia adalah perkara biasa apabila pengaturcaraan untuk menjadi berbilang versi fail yang sama. Sebagai contoh, ada satu versi yang merupakan versi langsung semasa, terdapat versi lain pada cawangan pembangunan yang mungkin mengandungi banyak perubahan, akhirnya mungkin ada versi lain pada cawangan pembebasan.
Cawangan pembebasan akan menjadi versi yang digunakan oleh pengguna sebenar (iaitu dalam kes ini pengunjung ke laman web MySite). Marilah kita mengatakan bahawa MySite adalah pada versi 1.0. Selepas fasa pembangunan, anda akan mencipta cawangan pembebasan yang akan dalam kes ini 1.1. Cabang pembangunan akan dapat mendahului cawangan pelepasan kerana ia mungkin mengandungi perubahan yang tidak sepatutnya dibebaskan dalam versi 1,2 tetapi akan menjadi versi 1.1.
Bayangkan ada pepijat di mana MySite harus dipanggil YourSite. Anda boleh pergi ke setiap cawangan seterusnya dan membuat perubahan kepada versi langsung, versi pembangunan dan versi pelepasan anda boleh membuat perubahan sebagai pembaikan panas secara langsung dan kemudian memohon patch ke cawangan pembangunan dan pengeluaran.
Contoh Kerja
Buat fail yang dipanggil myfile.html dengan kod berikut di dalamnya:
head>
Selamat Datang Ke MySite h1>
Ini adalah contoh kerja untuk menampal kod sumber. p>
body>
html>
Buat fail lain yang dipanggil myfile_v2.html dengan kod berikut:
head>
Selamat Datang Ke YourSite h1>
Ini adalah contoh kerja untuk menampal kod sumber. p>
body>
html>
Fail pertama ialah halaman web asal dengan tajuk "Selamat datang ke MySite". Fail kedua adalah sama dengan fail pertama kecuali MyFile dinamakan semula kepada YourFile dalam teks.
Cara Buat Fail Diff
Untuk membuat patch, kita perlu menyelesaikan perbezaan antara myfile.html dan myfile_v2.html.
Kita boleh melakukan ini dengan perintah diff seperti berikut:
diff -u myfile.html myfile_v2.html> myfile.patch
Anda boleh membuka fail myfile.patch dalam editor nano seperti berikut untuk melihatnya:
nano myfile.patch
Garis yang tidak berubah diperlihatkan dengan warna biru. Baris yang telah dialih keluar ditunjukkan dengan warna merah dan garisan yang telah ditambah ditunjukkan dalam warna hijau.
Cara Memohon Patch Menggunakan Komando Patch
Untuk memohon patch ke myfile.html gunakan arahan berikut:
patch Ini akan menggunakan perubahan yang dibuat menggunakan perintah diff untuk fail asal myfile.html. Sekiranya anda ingin memulihkan patch supaya myfile.html kembali kepada cara ia pada asalnya menggunakan arahan berikut: patch -R Perintah patch boleh digunakan untuk memohon patch di seluruh struktur direktori. Terdapat alat yang jauh lebih baik daripada arahan patch untuk membuat patch dan memastikan kawalan sumber yang baik. Terdapat sebab bahawa banyak projek pembangunan menggunakan GIT untuk kawalan sumber. GIT memudahkan untuk mencipta strategi cawangan yang konsisten. Arahan patch adalah ok untuk memohon perbezaan ke skrip bash atau sesuatu yang mudah tetapi Anda dapat dengan mudah membuat salinan sandaran fail yang anda ingin patch dan hanya menyalin fail baru ke tempat yang sama. Untuk maklumat lanjut, gunakan arahan lelaki: patch lelaki Cara Mengembalikan Patch
Ringkasan