Kijan Pou Aplike Yon Patch Pou Yon File Sèvi ak Linux

Gid sa a bay yon BECA debaz pou aplike yon patch nan yon pwogram oswa yon dosye.

Kòmandman ki itilize pou aplike plak la se lòd la patch, men nan lòd pou aplike pou yon patch kòmandman an dif tou bezwen yo dwe itilize bay diferans ki bezwen yo dwe patched.

Poukisa ou ta kreye yon patch

Imajine ou te gen yon dosye HTML jan sa a:



MySite


Byenveni nan MySite

Sous ki pi wo a lè chaje nan yon navigatè entènèt pral montre mo yo "Byenveni nan MySite".

Li se komen lè pwogramasyon pou gen yo dwe vèsyon miltip nan dosye a menm. Pou egzanp ta gen yon sèl vèsyon ki se aktyèl vèsyon an ap viv la, ta gen yon lòt vèsyon sou branch devlopman ki ka gen ladan chanjman miltip, finalman ta ka yon lòt vèsyon sou yon branch lage.

Branch an lage ta dwe vèsyon an itilize pa itilizatè reyèl (sa vle di nan ka sa a vizitè sou sit entènèt la MySite). Annou di ke MySite se nan vèsyon 1.0. Apre yon faz devlopman ou pral kreye yon branch lage ki ta ka nan ka sa a 1.1. Branch devlòpman an pral kapab devan branch lan lage paske li ka gen chanjman ki pa akòz pou yo lage nan vèsyon 1.2 men yo pral pou vèsyon 1.1.

Imajine te gen yon ensèk kote MySite ta dwe rele YourSite. Ou ka ale nan chak branch nan vire, epi fè chanjman nan vèsyon an ap viv, vèsyon devlopman ak vèsyon lage nan ou te kapab fè chanjman an kòm yon ranje cho nan ap viv ak Lè sa a, aplike patch la nan branch yo devlopman ak divilgasyon.

Yon Egzanp ki travay

Kreye yon dosye rele myfile.html avèk kòd sa a nan li:



MySite


Byenveni nan MySite

Sa a se yon egzanp ki travay nan kòd sous patching.

Kreye yon lòt dosye ki rele myfile_v2.html avèk kòd sa a nan li:



YourSite


Byenveni nan YourSite

Sa a se yon egzanp ki travay nan kòd sous patching.

Premye dosye a se paj entènèt orijinal la ak tit "Byenveni nan MySite". Dezyèm dosye a se menm bagay la kòm dosye a an premye eksepte MyFile se chanje non nan YourFile nan tèks la.

Kijan Pou kreye dosye a dif

Yo nan lòd yo kreye yon patch nou bezwen travay soti diferans ki genyen ant myfile.html ak myfile_v2.html.

Nou ka fè sa ak kòmandman an dif jan sa a:

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

Ou ka louvri dosye myfile.patch nan editè a nano jan sa a yo nan lòd yo wè li:

nano myfile.patch

Liy ki chanje yo montre nan ble. Liy ki te retire yo montre nan wouj ak liy ki te ajoute yo montre nan vèt.

Kijan Pou aplike patch la Sèvi ak lòd la Patch

Pou aplike patch nan myfile.html itilize lòd sa a:

patch

Kijan Pou refè yon patch

Sa a pral aplike chanjman ki te kreye lè l sèvi avèk kòmandman an diff nan dosye myfile.html orijinal la.

Si ou vle retabli patch la pou ke myfile.html se tounen nan wout la li te orijinal itilize lòd sa a:

patch -R

Rezime

Ka lòd la patch dwe itilize pou aplike plak atravè yon estrikti anyèl antye.

Gen pi bon zouti pase lòd la patch pou kreye plak ak asire bon kontwòl sous.

Gen yon rezon ki fè anpil pwojè devlopman sèvi ak GIT pou kontwòl sous. GIT fè l pi fasil pou kreye yon estrateji ki konsistan.

Kòmandman an patch se ok pou aplike diferans ki genyen nan yon script bach oswa yon bagay senp, men ou ta ka jis kòm byen fasil kreye yon kopi backup nan dosye yo ou vle patch epi tou senpleman kopye dosye yo nouvo an plas an menm.

Pou plis enfòmasyon sèvi ak kòmandman an moun:

nonm patch