Skip to main content

วิธีการใช้ Patch กับไฟล์โดยใช้ Linux

วิธีติดตั้ง Manual Patch Yulgang (เมษายน 2025)

วิธีติดตั้ง Manual Patch Yulgang (เมษายน 2025)
Anonim

คู่มือนี้จะให้ภาพรวมพื้นฐานสำหรับการใช้แพทช์ในโปรแกรมหรือไฟล์

คำสั่งที่ใช้สำหรับการใช้แพทช์คือคำสั่ง patch แต่เพื่อที่จะใช้ patch คำสั่ง diff ก็ต้องใช้เพื่อระบุความแตกต่างที่จำเป็นต้อง patched

ทำไมคุณถึงสร้าง Patch

ลองนึกภาพคุณมีไฟล์ HTML ดังนี้:

MySite

ยินดีต้อนรับสู่ MySite

แหล่งข้อมูลข้างต้นเมื่อโหลดลงเว็บเบราเซอร์จะแสดงคำว่า "Welcome to MySite"

เป็นเรื่องปกติเมื่อเขียนโปรแกรมให้มีไฟล์เดียวกันหลายเวอร์ชัน ตัวอย่างเช่นจะมีเวอร์ชันหนึ่งซึ่งเป็นเวอร์ชันปัจจุบันที่มีอยู่จะมีเวอร์ชันอื่นอยู่ที่สาขาการพัฒนาซึ่งอาจมีการเปลี่ยนแปลงหลายอย่างในที่สุดอาจมีเวอร์ชันอื่นในสาขาออก

สาขาออกจะเป็นเวอร์ชันที่ผู้ใช้จริงใช้ (เช่นในกรณีนี้ผู้เข้าชมเว็บไซต์ MySite) สมมติว่า MySite อยู่ที่เวอร์ชัน 1.0 หลังจากระยะพัฒนาคุณจะสร้างสาขาออกซึ่งจะเป็นในกรณีนี้ 1.1 สาขาการพัฒนาจะอยู่ข้างหน้าสาขาออกเนื่องจากอาจมีการเปลี่ยนแปลงที่ไม่ได้มาจากเวอร์ชัน 1.2 แต่จะเป็นเวอร์ชัน 1.1

ลองนึกภาพว่ามีข้อบกพร่องที่ MySite ควรถูกเรียกว่า YourSite คุณสามารถไปที่แต่ละสาขาได้และทำการเปลี่ยนแปลงเวอร์ชันสดเวอร์ชันการพัฒนาและเวอร์ชันที่เผยแพร่คุณสามารถทำการเปลี่ยนแปลงเป็นโปรแกรมแก้ไขด่วนในแบบสดแล้วใช้แพทช์เพื่อพัฒนาและเผยแพร่สาขา

ตัวอย่างการทำงาน

สร้างไฟล์ที่เรียกว่า myfile.html พร้อมด้วยโค้ดต่อไปนี้:

MySite

ยินดีต้อนรับสู่ MySite

นี่เป็นตัวอย่างของ patching source code

สร้างไฟล์อื่นที่เรียกว่า myfile_v2.html พร้อมด้วยโค้ดต่อไปนี้

yoursite

ยินดีต้อนรับสู่ YourSite

นี่เป็นตัวอย่างของ patching source code

ไฟล์แรกคือหน้าเว็บต้นฉบับที่มีหัวเรื่อง "ยินดีต้อนรับสู่ MySite" แฟ้มที่สองจะเหมือนกับแฟ้มแรกยกเว้น MyFile ถูกเปลี่ยนชื่อเป็น YourFile ในข้อความ

วิธีการสร้าง Diff File

ในการสร้างแพทช์เราจำเป็นต้องค้นหาความแตกต่างระหว่าง myfile.html และ myfile_v2.html

เราสามารถทำได้ด้วยคำสั่ง diff ดังนี้:

diff -u myfile.html myfile_v2.html> myfile.patch

คุณสามารถเปิดไฟล์ myfile.patch ในโปรแกรมแก้ไข nano ดังต่อไปนี้เพื่อดูไฟล์:

nano myfile.patch

เส้นที่ไม่มีการเปลี่ยนแปลงจะแสดงเป็นสีน้ำเงิน เส้นที่ถูกลบจะแสดงเป็นสีแดงและเส้นที่มีการเพิ่มจะแสดงเป็นสีเขียว

วิธีการใช้ Patch โดยใช้ Patch Command

เมื่อต้องการใช้แพทช์เพื่อ myfile.html ใช้คำสั่งต่อไปนี้:

patch <myfile.patch

วิธีย้อนกลับ Patch

ซึ่งจะใช้การเปลี่ยนแปลงที่สร้างขึ้นโดยใช้คำสั่ง diff ไปยังไฟล์ต้นฉบับ myfile.html

ถ้าคุณต้องการคืนค่าแพทช์เพื่อให้ myfile.html กลับมาสู่ขั้นตอนเดิมแล้วให้ใช้คำสั่งต่อไปนี้:

แพทช์ -R <myfile.patch

สรุป

คำสั่ง patch สามารถใช้เพื่อใช้ patches ในโครงสร้างไดเร็กทอรีทั้งหมด

มีเครื่องมือที่ดีกว่าคำสั่ง patch สำหรับการสร้างแพทช์และสร้างความมั่นใจในการควบคุมแหล่งที่มาได้ดี

มีเหตุผลที่โครงการพัฒนาจำนวนมากใช้ GIT เพื่อควบคุมแหล่งที่มา GIT ทำให้ง่ายต่อการสร้างกลยุทธ์การแบ่งสาขาที่สอดคล้องกัน

คำสั่ง patch สามารถใช้ได้กับการใช้สคริปต์ bash หรืออะไรง่ายๆ แต่คุณสามารถสร้างสำเนาสำรองของไฟล์ที่คุณต้องการแก้ไขได้โดยง่ายและเพียงแค่คัดลอกไฟล์ใหม่ไปยังที่เดียวกันเท่านั้น

สำหรับข้อมูลเพิ่มเติมให้ใช้คำสั่ง man:

แพทช์มนุษย์